How to read data with BDC
In order to search notification, I recorded a script with SHBD . This script go to IW28 and do a simple search. It works but I want to have the result to do another treatment.
Is it possible to have the data showed in a list?
This is my script :
FUNCTION z_pm_web_liste_avis.
*"*"Interface locale :
*" EXPORTING
*" REFERENCE(AVIS) TYPE ZPM_AVIS
PERFORM bdc_dynpro USING 'RIQMEL20' '1000'.
PERFORM bdc_field USING 'BDC_CURSOR'
'SELSCHEM'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ONLI'.
PERFORM bdc_field USING 'DY_OFN'
'X'.
PERFORM bdc_field USING 'DY_IAR'
'X'.
PERFORM bdc_field USING 'DATUV'
'14.03.2014'.
PERFORM bdc_field USING 'DATUB'
'12.06.2014'.
PERFORM bdc_field USING 'MZEIT-LOW'
'00:00:00'.
PERFORM bdc_field USING 'MZEIT-HIGH'
'00:00:00'.
PERFORM bdc_field USING 'AUZTV-LOW'
'00:00:00'.
PERFORM bdc_field USING 'AUZTV-HIGH'
'00:00:00'.
PERFORM bdc_field USING 'AUZTB-LOW'
'00:00:00'.
PERFORM bdc_field USING 'AUZTB-HIGH'
'00:00:00'.
PERFORM bdc_field USING 'VARIANT'
'/AAI_PM_REL'.
PERFORM bdc_dynpro USING 'SAPMSSY0' '0120'.
PERFORM bdc_field USING 'BDC_CURSOR'
'04/03'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BACK'.
PERFORM bdc_dynpro USING 'RIQMEL20' '1000'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/EE'.
PERFORM bdc_field USING 'BDC_CURSOR'
'SELSCHEM'.
PERFORM bdc_transaction USING 'IW28'.
COMMIT WORK.
ENDFUNCTION.
*& Form bdc_dynpro
* text
* -->PROGRAM text
* -->DYNPRO text
FORM bdc_dynpro USING program dynpro.
DATA gs_bdcdata TYPE bdcdata.
CLEAR gs_bdcdata.
gs_bdcdata-program = program.
gs_bdcdata-dynpro = dynpro.
gs_bdcdata-dynbegin = 'X'.
APPEND gs_bdcdata TO gt_bdcdata.
ENDFORM. "BDC_DYNPRO
*& Form bdc_field
* text
* -->FNAM text
* -->FVAL text
FORM bdc_field USING fnam fval.
DATA gs_bdcdata TYPE bdcdata.
CLEAR gs_bdcdata.
gs_bdcdata-fnam = fnam.
gs_bdcdata-fval = fval.
APPEND gs_bdcdata TO gt_bdcdata.
ENDFORM. "BDC_FIELD
*& Form bdc_transaction
* text
* -->TCODE text
FORM bdc_transaction USING tcode.
DATA: messtab TYPE TABLE OF bdcmsgcoll WITH HEADER LINE.
DATA: l_mstring(480).
DATA: l_subrc LIKE sy-subrc.
REFRESH messtab.
CALL TRANSACTION tcode USING gt_bdcdata
MODE 'A'
UPDATE 'S'
MESSAGES INTO messtab.
l_subrc = sy-subrc.
WRITE: / 'CALL_TRANSACTION',
tcode,
'returncode:'(i05),
l_subrc,
'RECORD:',
sy-index.
LOOP AT messtab.
MESSAGE ID messtab-msgid
TYPE messtab-msgtyp
NUMBER messtab-msgnr
INTO l_mstring
WITH messtab-msgv1
messtab-msgv2
messtab-msgv3
messtab-msgv4.
WRITE: / messtab-msgtyp, l_mstring(250).
ENDLOOP.
SKIP.
REFRESH gt_bdcdata.
ENDFORM. "BDC_TRANSACTION
It turns out, that I needed to serialize the XML on the server and read it as Blob. Like this:
1 final Statement statement = connection.createStatement() ;
2 final String sql = String.format("select xmlserialize(content xml_content_column as blob encoding 'UTF-8') from %s where key='%s'", table, key ) ;
3 ResultSet resultSet = statement.executeQuery( sql ) ;
4 String result = null ;
5 while(resultSet.next()) {
6 Blob blob = resultSet.getBlob( 1 );
7 InputStream inputStream = blob.getBinaryStream();
8 result = new Scanner( inputStream ).useDelimiter( "\\A" ).next();
9 inputStream.close();
10 blob.free();
11 }
12 resultSet.close();
13 statement.close();
14
15 System.out.println( result );
16 return result ;
17
Then it works. Still, can't get it work with XMLType in resultset.On the client unwrapping XML blows up when trying to switch to different XML schema. JDBC/XDB problem?
Similar Messages
-
How to read data with different XML schemas within the single connection?
I have Oracle 11g database
I access it through jdbc:oracle:thin, version 11.2.0.3, same as xdb.
I have several tables, each has one XMLType column, all schema-based.
There are three different XML schemata registered in the DB
I may need to read the XML data from several tables.
If all the XMLTypes have the same XML schema ,there is no problem,
If the schemata are different, the second read throws BindXMLException.
If I reset the connection between the reads of the XMLType column with different schemata, it works.
The question is: how can I configure the driver, or the connection to be able to read the data with different XML schemata without resetting the connection (which is expensive).
The code to get the XMLType data is textbook implementation:
1 ResultSet resultSet = statement.executeQuery( sql ) ;
2 String result = null ;
3 while(resultSet.next()) {
4 SQLXML sqlxml = resultSet.getSQLXML(1) ;
5 result = sqlxml.getString() ;
6 sqlxml.free();
7 }
8 resultSet.close();
9 return result ;It turns out, that I needed to serialize the XML on the server and read it as Blob. Like this:
1 final Statement statement = connection.createStatement() ;
2 final String sql = String.format("select xmlserialize(content xml_content_column as blob encoding 'UTF-8') from %s where key='%s'", table, key ) ;
3 ResultSet resultSet = statement.executeQuery( sql ) ;
4 String result = null ;
5 while(resultSet.next()) {
6 Blob blob = resultSet.getBlob( 1 );
7 InputStream inputStream = blob.getBinaryStream();
8 result = new Scanner( inputStream ).useDelimiter( "\\A" ).next();
9 inputStream.close();
10 blob.free();
11 }
12 resultSet.close();
13 statement.close();
14
15 System.out.println( result );
16 return result ;
17
Then it works. Still, can't get it work with XMLType in resultset.On the client unwrapping XML blows up when trying to switch to different XML schema. JDBC/XDB problem? -
Open Hub: How-to doc "How to Extract data with Open Hub to a Logical File"
Hi all,
We are using open hub to download transaction files from infocubes to application server, and would like to have filename which is dynamic based period and year, i.e. period and year of the transaction data to be downloaded.
I understand we could use logical file for this purpose. However we are not sure how to have the period and year to be dynamically derived in filename.
I have read in sdn a number of posted messages on a similar topic and many have suggested a 'How-to' paper titled "How to Extract data with Open Hub to a Logical Filename". However i could not seem to be able to get document from the link given.
Just wonder if anyone has the correct or latest link to the document, or would appreciate if you could share the document with all in sdn if you have a copy.
Many thanks and best regards,
VictoriaHi,
After creating open hub press F1 in Application server file name text box from the help window there u Click on Maintain 'Client independent file names and file paths' then u will be taken to the Implementation guide screen > click on Cross client maintanance of file name > create a logical file path by clicking on new entiries > after creating logical file path now go to Logical file name definition there give your Logical file , name , physical file (ur file name followed by month or year what ever is applicable (press f1 for more info)) , data format (ASC) , application area (BW) and logical path (choose from F4 selection which u have created first), now goto Assignment of physical path to logical path > give syntax group >physical path is the path u gave at logical file name definition.
however we have created a logical path file name to identify the file by sys date but ur requirement seems to be of dynamic date of tranaction data...may u can achieve this by creating a variable. U can see the help from F1 that would be of much help to u. All the above steps i have explained will help u create a dynamic logical file.
hope this helps u to some extent.
Regards -
How to export data with column headers in sql server 2008 with bcp command?
Hi all,
I want know "how to export data with column headers in sql server 2008 with bcp command", I know how to import data with import and export wizard. when i
am trying to import data with bcp command data has been copied but column names are not came.
I am using the below query:-
EXEC master..xp_cmdshell
'BCP "SELECT * FROM [tempdb].[dbo].[VBAS_ErrorLog] " QUERYOUT "D:\Temp\SQLServer.log" -c -t , -T -S SERVER-A'
Thanks,
SAAD.Hi All,
I have done as per your suggestion but here i have face the below problem, in print statment it give correct query, in EXEC ( EXEC master..xp_cmdshell @BCPCMD) it was displayed error message like below
DECLARE @BCPCMD
nvarchar(4000)
DECLARE @BCPCMD1
nvarchar(4000)
DECLARE @BCPCMD2
nvarchar(4000)
DECLARE @SQLEXPRESS
varchar(50)
DECLARE @filepath
nvarchar(150),@SQLServer
varchar(50)
SET @filepath
= N'"D:\Temp\LDH_SQLErrorlog_'+CAST(YEAR(GETDATE())
as varchar(4))
+RIGHT('00'+CAST(MONTH(GETDATE())
as varchar(2)),2)
+RIGHT('00'+CAST(DAY(GETDATE())
as varchar(2)),2)+'.log" '
Set @SQLServer
=(SELECT
@@SERVERNAME)
SELECT @BCPCMD1
= '''BCP "SELECT
* FROM [tempdb].[dbo].[wErrorLog] " QUERYOUT '
SELECT @BCPCMD2
= '-c -t , -T -S '
+ @SQLServer +
SET @BCPCMD
= @BCPCMD1+ @filepath
+ @BCPCMD2
Print @BCPCMD
-- Print out below
'BCP "SELECT
* FROM [tempdb].[dbo].[wErrorLog] " QUERYOUT "D:\Temp\LDH_SQLErrorlog_20130313.log" -c -t , -T -S servername'
EXEC
master..xp_cmdshell
@BCPCMD
''BCP' is not recognized as an internal or external command,
operable program or batch file.
NULL
if i copy the print ourt put like below and excecute the CMD it was working fine, could you please suggest me what is the problem in above query.
EXEC
master..xp_cmdshell
'BCP "SELECT * FROM
[tempdb].[dbo].[wErrorLog] " QUERYOUT "D:\Temp\LDH_SQLErrorlog_20130313.log" -c -t , -T -S servername '
Thanks, SAAD. -
How to read data from a file that was formatted by excel?
Hi everyone, I'm familiar with java.io and the ability to read from files, can anyone tell me how to read data from a file that was formatted by excel? Or at least give me some web references so that I can learn about it?
http://jakarta.apache.org/poi/hssf/index.html
HSSF stands for Horrible Spreadsheet Format, but it still works! -
can someone help me with this....
how to read data.....and move it to internal table....
the requirement is as:
<b>Get the Participant details in an internal table IT_FINAL_PAR</b>
Loop through IT_PA0002 and move Personnel number (PERNR), Personnel ID Number (PERID), Last name (NACHN), First name (VORNA), Gender Key (GESCH), Date of Birth (GBDAT) into a final internal table for Participant data IT_FINAL_PAR.
Read the internal table IT_PA0006 to get the corresponding House Number and Street
(STRAS), City (ORT01), Postal code (PSTLZ), State (STATE), 2nd address line (LOCAT) by comparing Personnel Number (PERNR)and move those retrieved field values to the final internal table for Participant data IT_FINAL_PAR.Hi,
you could try the following:
* work areas
data: W_PA0002 like line of IT_PA0002[],
W_PA0006 like line of IT_PA0006[],
W_FINAL_PAR like line of IT_FINAL_PAR[].
loop at IT_PA0002 into W_PA0002.
clear W_FINAL_PAR.
* move values from IT_PA0002
W_FINAL_PAR-PERNR = W_PA0002-PERNR.
W_FINAL_PAR-PERID = W_PA0002-PERID.
* read address values from IT_PA0006
read table IT_PA0006 into W_PA0006 with key pernr = W_PA0002-pernr.
if sy-subrc = 0.
* move fields from IT_PA0006
W_FINAL_PAR-STRAS = W_PA0006-STRAS.
endif.
append W_FINAL_PAR to IT_FINAL_PAR.
endloop. -
How to read data from an internal table into a real table?
Hello experts,
I'm relatively new to ABAP and I'm trying to figure out how to read data from an internal table into a table that I created. I'm trying to use the RRW3_GET_QUERY_VIEW_DATA function module to read data from a multiprovider. I'm trying to read data from the e_cell_data and e_axis_data tables into a table that I've already created. Please see code below.
TABLES MULTITAB.
DATA:
query_name TYPE RSZCOMPID,
s_cubename TYPE RSINFOPROV,
t_cell_data TYPE RRWS_T_CELL,
t_axis_data TYPE RRWS_THX_AXIS_DATA,
t_axis_info TYPE RRWS_THX_AXIS_INFO,
wa_t_cell_data like line of t_cell_data,
wa_t_axis_data like line of t_axis_data,
w_corp_tab like line of t_cell_data.
s_cubename = 'CORP_MPO1'.
query_name = 'Z_corp_test'.
CALL FUNCTION 'RRW3_GET_QUERY_VIEW_DATA'
EXPORTING
i_infoprovider = s_cubename
i_query = query_name
i_t_parameter = query_string_tab
IMPORTING
e_cell_data = t_cell_data
e_axis_data = t_axis_data
e_axis_info = t_axis_info.
If anyone has any information to help me, I would greatly appreciate it. Thanks.Hi,
<li>Once you call the function module RRW3_GET_QUERY_VIEW_DATA, lets say data is available in the corresponding tables e_cell_data e_axis_data which you have mentioned.
<li>Modify your internal table defined for other purpose, with data from e_cell_data e_axis_data like below.
LOOP AT t_cell_data INTO wa_t_cell_data.
"Get the required data from t_cell_data.
MOVE-CORRESPONDING wa_t_cell_data TO it_ur_tab.
"Modify your internal table wih data
MODIFY it_ur_tab TRANSPORTING <field1> <field2> <field3>.
ENDLOOP.
LOOP AT t_axis_data INTO wa_t_axis_data.
"Get the required data from t_cell_data.
MOVE-CORRESPONDING wa_t_axis_data TO it_ur_tab.
"Modify your internal table wih data
MODIFY it_ur_tab TRANSPORTING <field1> <field2> <field3>.
ENDLOOP.
Thanks
Venkat.O -
How to read data after select multiple record by checkbox,
hi experts
i m using simple report with check box , and itab whcih contain records
how to read data after select multiple record by checkbox,
thanksHi Prashant,
Try using this logic.This Code displays the list with check boxes. When you check a checkbox and press a button say 'Select All' or 'De Select all' or 'Display'. It will read the data of those records.
DATA :
fs_flight TYPE type_s_flight,
fs_flight1 TYPE type_s_flight1.
* Internal tables to hold Flight Details *
DATA :
t_flight LIKE
STANDARD TABLE
OF fs_flight,
t_flight1 LIKE
STANDARD TABLE
OF fs_flight1.
SET PF-STATUS 'SELECT' .
PERFORM selection.
PERFORM displaybasic .
* AT USER COMMAND EVENT *
AT USER-COMMAND.
PERFORM selectall .
*& Form SELECTION
* Select query to reteive data from SPFLI table
* There are no interface parameters to be passed to this subroutine.
FORM selection .
SELECT carrid " Airline Code
connid " Flight Connection Number
FROM spfli
INTO TABLE t_flight.
DESCRIBE TABLE t_flight LINES w_lines .
ENDFORM. " SELECTION
*& Form DISPLAYBASIC
* Display the basic list with SPFLI data
* There are no interface parameters to be passed to this subroutine.
FORM displaybasic .
LOOP AT t_flight INTO fs_flight.
WRITE :
w_check AS CHECKBOX,
w_mark,
fs_flight-carrid UNDER text-001,
fs_flight-connid UNDER text-002.
ENDLOOP. " LOOP AT T_FLIGHT..
CLEAR fs_flight-carrid .
CLEAR fs_flight-connid.
ENDFORM. " DISPLAYBASIC
*& Form SELECTALL
* To check all the checkboxes with a 'selectall' push button
* There are no interface parameters to be passed to this subroutine.
FORM selectall .
CASE sy-ucomm.
WHEN 'SELECT_ALL'.
w_check = 'X'.
w_line = 4 .
DO w_lines TIMES.
READ LINE w_line .
MODIFY LINE w_line FIELD VALUE w_check .
ADD 1 TO w_line .
ENDDO. " DO W_LINES TIMES
CLEAR w_line.
WHEN 'DESELECTAL'.
w_check = space.
w_line = 4 .
DO w_lines TIMES.
READ LINE w_line FIELD VALUE w_mark .
IF w_mark = space .
MODIFY LINE w_line FIELD VALUE w_check .
ENDIF. " IF W_MARK = SPACE
ADD 1 TO w_line .
ENDDO. " DO W_LINES TIMES
WHEN 'DISPLAY'.
IF sy-lilli BETWEEN 4 AND w_lines .
DO w_lines TIMES.
READ LINE w_num FIELD VALUE w_check INTO w_check
fs_flight-carrid INTO fs_flight-carrid
fs_flight-connid INTO fs_flight-connid.
IF sy-subrc = 0.
IF w_check = 'X'
SELECT carrid
connid
fldate " Flight date
seatsmax " Maximum capacity in economy
seatsocc " Occupied seats in economy class
FROM sflight
INTO TABLE t_flight1
WHERE carrid = fs_flight-carrid
AND connid = fs_flight-connid.
LOOP AT t_flight1 INTO fs_flight1.
WRITE :
/ fs_flight-carrid UNDER text-001,
fs_flight-connid UNDER text-002,
fs_flight1-fldate UNDER text-007,
fs_flight1-seatsmax UNDER text-008,
fs_flight1-seatsocc UNDER text-009.
ENDLOOP.
ENDIF. " IF SY-SUBRC = 0
ENDIF. " IF W_CHECK = 'X'.
ADD 1 TO w_num.
ENDDO. " DO W_LINES TIMES
CLEAR w_check.
w_num = 0.
ELSE .
MESSAGE 'INVALID CURSOR POSITION ' TYPE 'E' .
ENDIF. " IF SY-LILLI BETWEEN..
ENDCASE. " CASE SY-UCOMM
ENDFORM. " SELECTALL
Much Regards,
Amuktha. -
How to get data with the raw pattern from resultset ?
would you tell me how to get data with the raw pattern from resultset ?
thank you in advance!
longgger2000I tried getBytes() and getObject()
, but I can not get the right result , for example the
data in oracle database is 01000000DFFF, when In used
the method of getBytes() and getObject(), I get the
result of [B@1c2e8a4, very different , please tell me
why !
thank you
longgger2000
[B is byte arrayseem that it return an bytes array for you. -
How to read data from a CLUSTER STRUCTURE not cluster table.
Hi,
how to read data from a CLUSTER STRUCTURE not cluster table.
regards,
Usha.Hello,
A structre doesnt contain data.. so u cannot read from it. U need to find out table of that structure and read data from it.
Regards,
Mansi. -
How to read data from a router by using labview
I am a beginner labview. How to read data from a router by using labview ?
What kind of data are you trying to read?
Does the router behave like a webserver that you log into? If so, search the forums for threads discussing HTML. -
How to read data from a connected modem
any one can help me? how to read data from a connected modem. The modem received real-time data from other server. The data is in text format. I can see this text when I used hyperterminal for dial up and the data is accumulated such as:
@aa1235678
@bb2135647
@cc5214367
since it is real-time data, I want to read one line each time instantly when it arrives.You need to use the Java Communications API. (http://java.sun.com/products/javacomm/index.html)
-
How to read data from a zipped MS Access file?
How to read data from a zipped MS Access file?
RPJ,
You do not need to use the Close Zip File.vi when you unzip a folder. This VI is used when you are creating a zip folder.
As for examples, I found a couple of ActiveX based MS Access examples. These programs look to be pretty basic. For more in depth example I would search Microsoft Developers Network
http://zone.ni.com/devzone/cda/epd/p/id/2188
http://zone.ni.com/devzone/cda/epd/p/id/1694
Regards,
Jon S.
National Instruments
LabVIEW R&D -
Play sound in specified duration and desired file when reading data with VISA functions ?
Hi.
I read data with VISA read function and then I use functions like multiple for showing data on Chart. every thing is OK.
now I want play a specified sound (like a 3s song in my desired folder) when signal amplitude cross over from specified value. then after desired time, it will be wait for new cross over from specified value and this procedure repeat again until I stop the program.
Data comes from MCU and it doesn't stop when system play sound and when system play sound, incoming data for this part (play sound) will be ignore them until specified expired.
I use this VI for reading data and mentioned part which is sound part is empty and I don't know what I must done ?
altougth I use another while loop for sound apart because I want save CPU time.
Thanks.
Solved!
Go to Solution.I would recommend making the data type of the notifier a cluster that contains a path and a numeric (double). The path tells the player which file to play. The numeric is the duration.
Now for a slightly complicated, but really neat, way to stop your second loop. Do not use a second notifier. Instead, send the normal notification but use Not A Path for the path in the cluster. Your second loop can do a check for the Not A Path and stop when that is recieved.
There are only two ways to tell somebody thanks: Kudos and Marked Solutions
Unofficial Forum Rules and Guidelines -
How to read data directly from clusters
hi all,
how to read data directly from clusters
Thanx in advance,
amruta.Using macro:
RP-IMP-C2-B2.
RP-IMP-C2-B1.
RP-IMP-C2-ZL.
....etc.
For TM cluster, U also can use BAPIs like HR_TIME_RESULTS_GET
More details see SAP HR course 350(HR Programming)
Maybe you are looking for
-
How do I report errors in an beta release?
I signed up to V28 beta to help find errors etc. I am now finding a number of problems which may or may mot be caused by V20. I have wasted much of my evening trying to get into the system, eventually successfully. Problems I am having are: 1) consta
-
HP Pavilion dm4t 1000 - wd471av Windows 7 64-bit Upgrading VGA card
can i upgrade VGA removable card for HP Pavilion dm4t 1000 ?
-
Firefox isn't allowing me to go to any website, how do I fix it?
It all started when I downloaded avg antivirus so I uninstalled it but it still won't connect to websites. I've tried refreshing it and disabling add-ons I'm all out of ideas. Please someone help
-
Hi All, Does our Cisco ACS 4.2 supports Nortel switch for authentication..? Could anyone help
-
Query on adapter.ini - DBApter
Hi, I have installed Infustructure Database in the same box where I have installed Oracle Apps Server. That particular is not big enough to run Oracle Apps server, Database server in full effect and Adapters. Now I want to move the tables and procedu