Read flat file into IDOC
Hello All,
I have a file in application server, now I need to convert this file into IDOC format and save the records in SAP database. Can any one provide us the steps to do this. I would like to know how to create a port for file type to read the flat file.
Thank you,
Hi,
Create a Z program in se38 and in that you will have to make use of OPEN DATASET, READ DATASET and CLOSE DATASET statements to read the fiel from the application server.
IDOC is just an intermediate document with some structure.
It does not have a capability to read a file by itself.
The file had to be explicitely read from the application server making use of the above statements and then pass the data to the idoc structure.
For more help do F1 on these statements.
Regards,
Ankur Parab
Similar Messages
-
Unsorted Flat File into IDoc with multiple use of nodes
Hi Experts!
I am facing a little problem. I have a source flat file for a classification where some fields appear several times.
My source flat file looks like this:
item1; field1a
item2; fieldA
item3; fieldxa
item1; field1b
as you can see the item1 exists twice (further appearances are also possible).
Now i have to map the flat file into an IDoc structure
My target IDoc looks like this
Header
-- node1
attribute1
-- node2
the "field1a" and "field1b" has to be mapped into the "attribute1" in "node1". "node1" has to be duplicated for each time an "item1" appears (.. and if item2, item3 etc. appears twice, three ... four times...).
So how can i reach it that the node1 will be duplicated automatically when an item appears twice or more times? I know that it could be possible to work with "SplitByValue"... but for this i need all item1 in an straight order.... but i dont have them in a correct order.
I am looking forward to your suggestions.
Thank you in advance.
UdoComplex sorting is not or not easy possible with the grafical mapping tool.
Use a sequence mapping. The first mapping is a simple XSLT which does the sort. The second mapping works as usual.
I have an example XSLT which I used for a different purpose:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<ORDERLIST>
<xsl:for-each select="ORDERLIST/ITEM">
<xsl:sort select="ID"/>
<xsl:copy-of select="."/>
</xsl:for-each>
</ORDERLIST>
</xsl:template>
</xsl:stylesheet>
Regards
Stefan -
Hi,
I have to post the data from Flat File to SAP using IDOC. Please help me out with all the posibilities.
Regards,
Kiran.LHi,
Step 1 Read flate file into internal table.
step 2 Follow below program to create a idoc through Z program,
REPORT ZOUTBD_IDOC_TEMPLATE NO STANDARD PAGE HEADING.
*************************START OF DECLARATIONS**********************
*eject
Table Declarations
TABLES: ZIDOC_TAB_EX1, "Equivalent to an SAP Master table.
ZIDOC_TAB_EX2. "Equivalent to an SAP Master table.
*eject
Types Declarations with data work Areas / Internal tables.
TYPES: begin of ty_idoc_par,
werks LIKE ZIDOC_TAB_EX1-werks,
c_rec_ind LIKE ZIDOC_TAB_EX1-c_rec_ind,
name1 LIKE ZIDOC_TAB_EX1-name1,
name2 LIKE ZIDOC_TAB_EX1-name2,
stras LIKE ZIDOC_TAB_EX1-stras,
pfach LIKE ZIDOC_TAB_EX1-pfach,
ort01 LIKE ZIDOC_TAB_EX1-ort01,
counc LIKE ZIDOC_TAB_EX1-counc,
pstlz LIKE ZIDOC_TAB_EX1-pstlz,
telf1 LIKE ZIDOC_TAB_EX1-telf1,
regio LIKE ZIDOC_TAB_EX1-regio,
end of ty_idoc_par.
TYPES: begin of ty_idoc_chd,
werks LIKE ZIDOC_TAB_EX2-werks,
eroed LIKE ZIDOC_TAB_EX2-eroed,
schld LIKE ZIDOC_TAB_EX2-schld,
end of ty_idoc_chd.
TYPES: begin of ty_message,
OBJNR LIKE MCMAILOBJ-OBJNR,
OBJLEVEL LIKE MCMAILOBJ-OBJLEVEL,
OBJTYPE LIKE MCMAILOBJ-OBJTYPE,
OBJNAM LIKE MCMAILOBJ-OBJNAM,
OBJDES LIKE MCMAILOBJ-OBJDES,
OBJLINE LIKE MCMAILOBJ-OBJLINE,
end of ty_message.
TYPES: begin of ty_mess_output,
v_err_out(1000) TYPE C,
v_err_out_2(1000) TYPE C,
end of ty_mess_output.
*eject
Data Declarations
Essential declarations for populating the IDOC:
DATA: begin of itab_idoc_data occurs 0.
include structure edidd. "Data record.
DATA: end of itab_idoc_data.
DATA: begin of itab_comm_idoc_control occurs 0.
include structure edidc. "Control record.
DATA: end of itab_comm_idoc_control.
Internal Table for Mail Recipient.
DATA: BEGIN OF ITAB_RECIPIENT OCCURS 0.
INCLUDE STRUCTURE ZINT_RECEIVER.
DATA: END OF ITAB_RECIPIENT.
Declare an internal table for Parent segment.
DATA: itab_idoc_par TYPE ty_idoc_par occurs 0 with header line.
Declare an internal table for child segment.
DATA: itab_idoc_chd TYPE ty_idoc_chd occurs 0 with header line.
Declare variables for Parent and Child Segments
DATA: i_z1parseg LIKE z1parseg, "PARENT SEGMENT DATA.
i_z1child LIKE z1child. "CHILD SEGMENT DATA.
Internal table to process function to send error mails.
DATA: itab_err_mess TYPE ty_message occurs 0 with header line.
DATA: itab_mess_output TYPE ty_mess_output occurs 0 with header line.
Variables for sending error mails.
DATA: objnr LIKE SOOD1-ACNAM, "Name of object.
V_ERR_DESC_1 LIKE SOOD1-OBJDES,
"Error message on pop up box after program executes.
V_OBJLINE LIKE ITAB_ERR_MESS-OBJLINE,
V_MESSAGE_1(60) TYPE C,
V_MESSAGE_2(120) TYPE C,
V_MESSAGE_3(75) TYPE C,
V_MESSAGE_4(150) TYPE C,
V_MESSAGE_5(150) TYPE C,
V_MESSAGE_6(150) TYPE C,
V_RDATE(10) TYPE C,
V_RTIME(8) TYPE C,
V_RECIPIENT(12) TYPE C,
v_itab_idoc_par_lines,
v_itab_idoc_chd_lines,
child_counter TYPE C,
parent_counter TYPE C,
idoc_counter TYPE C,
v_mess_output(1000) TYPE C,
v_error_detail(88) TYPE C,
v_final_detail(1000) TYPE C,
V_DUMMY TYPE C. "Dummy File Indicator.
*eject.
Constant Declarations
CONSTANTS:
BASIC IDOC TYPE AS CREATED FROM TRANSACTION CODE we30.
C_Segment_type1(8) TYPE C VALUE 'Z1IDOCOB',
C_mestyp(11) TYPE C VALUE 'ZSAMPLEMESS',
C_SENDMODE TYPE C VALUE 'B', "Sending Mode
C_EXPRESS TYPE C VALUE 'E',
C_LANGUAGE LIKE sy-langu VALUE 'E'.
**********************END OF DECLARATIONS*****************************
*eject
Initialisation
INITIALIZATION.
Assign the initial settings for sending error mails.
v_err_desc_1 = 'Message from processing ZOUTBD_IDOC_TEMPLATE.'.
"Error message in pop up box after program executes.
v_error_detail = 'A complete set of detail records is not held for'.
idoc_counter = '0'. "No of Idocs processed.
parent_counter = '0'. "No of parent segments selected.
child_counter = '0'. "No of child segments selected.
*************************BEGIN OF PROCESSING**************************
Call form to initialize standard structures
PERFORM clear_Structures.
Fill report to tell user when the interface was run.
PERFORM fill_mail_report.
Call function to populate parent structure:
PERFORM select_parent_data.
Call function to populate child structure:
PERFORM select_child_data.
Inform the user of the number of records that were selected.
PERFORM fill_record_selected.
Loop at contents of parent structure:
LOOP AT itab_idoc_par.
Populate the control structure with the partner and port sending and
receiving details.
REFRESH itab_idoc_data.
PERFORM populate_Control_structure USING c_mestyp
c_SEGMENT_type1.
PERFORM transfer_Parent_data_to_seg.
Loop at the children structure - retrieving the children segments
for this parent.
LOOP AT itab_idoc_chd WHERE WERKS = itab_idoc_par-WERKS.
Call form to transfer data to child Idoc.
PERFORM transfer_Child_data_to_seg.
ENDLOOP. "Stop looping through the children structure.
Call SAP function to transfer data.
PERFORM master_idoc_distribute.
Form to close logical unit of work.
PERFORM COMMIT_WORK.
ENDLOOP. " Stop looping through the parent structure.
Fill the number of articles processed for online mail.
PERFORM fill_process_record.
Write to online mail report on data interface has processed.
PERFORM FILL_ERR_MESSAGE USING V_OBJLINE
V_MESSAGE_1
V_MESSAGE_2
V_MESSAGE_3
V_MESSAGE_4
V_MESSAGE_5
V_MESSAGE_6.
Send online mail with contents of message fields.
PERFORM SEND_MAIL. -
Flat File to IDOC- didn't get data into IDOC
Hi All,
Our scenario is Flat File to IDOC....
working fine... didn't get any errors... IDOC also generated but didn't get any data in that IDOC....
for details see the attachment...
Thanks In Advance,
vishnu.........Hi Rajesh,
I am getting payload in RWB from sender Cc like below:
<?xml version="1.0" encoding="utf-8" ?>
- <ns:MT_File xmlns:ns="http://mouritech.com/file2idocsender">
- <MT_File>
<Value>1</Value>
<Reason>test</Reason>
</MT_File>
</ns:MT_File>
If i test with this payload in mapping i am getting a pop up with this message and mapping not completed ...
Could you please let me know what i have to do now?
Pop Up:
The processing instruction target matching "[xX][mM][lL]" is not allowed.
See error logs for details -
Reading a flat file into Oracle
Can someone tell me the best way to read a flat file into Oracle8i?
You can use SQL*Loader
or programmatically with UTL_FILE package.
(Please see documentation of SQL*Loader
and using predefine package UTL_FILE) -
Hi,
I have a requriment like source will be sending IDoc DELVRY03 in form of flatfile(fixed length).So i have to convert to XML so that PI can do transformation.I cant do file content conversion.Target is also IDoc DELVRY03.
Kinldy suggest me how to convery flat file into XML.
Regards,
Anitha M
Edited by: Anitha m on Aug 3, 2010 10:07 AMHi Anitha,
You should use File content conversion to convert flat file into XML file.
Please check the below link, which help you to know how to do it.
http://saptechnical .com/Tutorials/XI/Contentconversion/page2.htm
Please check the weblink given below for converting the file content:
http://help.sap.com/saphelp_srm40/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm
Thanks, -
I am receiving flat file in SFTP Server which need to be posted into SAP (No mapping involved)
What will be the best approach ?
1. I tried using IDOCFlatToXmlConvertor (The limitation in the format of source file. The parent and child node relationship should be explicitly mentioned in IDoc flat file which legacy system is not able to do) - Any workarounds ?
2. I moved the Idoc flat file into SAP application server. Now need to schedule job using program RSEINB00
3. File Content Conversion
Any other better solution ? Appreciate your help.
Thanks and regards,
Jose AugastineFor converting Idoc Flat file to idoc xml, ABAP mapping is one of the feasible option.
-
Error while loading flat file into DSO
Hi
I am loading data from a flat file into a DSO. My fields in the flat file are Trans_Dt, (CHAR) Particulars (CHAR), Card_Name, (CHAR) Exps_Type, (CHAR)
Debit_Amount,Credit_Amount,***._Amt,Open_Bal_Check_Acnt, (CURR)
0Currency (CHAR)
In the proposal tab apart from the above mentioned fields 3 additional fields viz, field 10, field 11, and field 12 have come. How did these 3 additional fields come when I don't have any additional fields in my flat file? I've deleted these extra 3 fields though.
When I activate the DataSource it is getting activated but then I get the message 'Data structures were changed. Start transactions before hand'. What does this message mean?
When I hit the 'Read preview data' button it doesn't show me any data and gives me the error Missing reference to currency field / unit field for the fields Debit_Amount,Credit_Amount,***._Amt,Open_Bal_Check_Acnt
How do I create a reference field to the above mentioned fields?
Earlier I didn't have the 0Currency field in the flat file. But in my DSO while creating the key figures by default the 0Currency field also got created which is quite obvious. Now while activating the transformations I was getting a message that 'No source field for the field 0Currency'. Hence I had to create a new field in my flat file called 0Currency and load it with USD in all rows.
Please help me in loading this flat file into the DSO.
Thank you.
TR.Hi guys,
Thanks a lot for your answers. with your help I could see the data in the 'Read preview data' and schedule the load. I did use all the Info objects in the info objects column of the data source to load the flat file.
The data is in PSA successfully without any issues. but when I executed the DTP it failed with errors.
Earlier there was no mapping from Currency field in source to the all the key figure fields in the target in the transformation. The mapping was only from Currency to 0CURRENCY but still the transformation got activated. As per your advise I mapped Currency field to the remaining Key Figure fields but then I am getting the error
'Source parameter CURRENCY is not being used'
Why is that so?
list of Errors after executing the DTP:
1. 'Record filtered because records with the same key contain errors'
Message:
Diagnosis: The data record was filtered out becoz data records with the same key have already been filtered out in the current step for other reasons and the current update is non-commutative (for example, MOVE). This means that data records cannot be exchanged on the basis of the semantic key.
System Response: The data record is filtered out; further processing is performed in accordance with the settings chosen for error handling.
Procedure: Check these data records and data records with the same key for errors and then update them.
Procedure for System administration
Can you please explain this error and how should I fix this error.
2. Exception input_not_numeric; see long text - ID RSTRAN
Diagnosis: An exception input_not_numeric was raised while executing function module RST_TOBJ_TO_DERIVED_TOBJ.
System Response
Processing the corresponding record has been terminated.
Procedure
To analyse the cause, set a break point in the program of the transformation at the call point of function module RST_TOBJ_TO_DERIVED_TOBJ. Simulate the data transfer process to investigate the cause.
Procedure for System Administration
What does this error mean? How do I set a breakpoint in the program to fix this error inorder to load the data?
What does Procedure for System Administration mean?
Please advise.
Thank you.
TR. -
Load a flat file into BW-BPS using SAP GUI
Hi,
We are using BW BPS 3.5 version, i implemented how to guide " How to load a flat file into BW-BPS using SAP GUI" successfully without any errors.
I inlcuded three infoobjects in the text file costelemt, Posting period and amount. the same three infoobjects i inlcuded the file structure in the global data as specified in the how to document
The flat file format is like this
Costelmnt Postingperiod Amount
XXXXX #
XXXXX 1 100
XXXXX 2 800
XXXXX 3 700
XXXXX 4 500
XXXXX 5 300
XXXXX 6 200
XXXXX 7 270
XXXXX 8 120
XXXXX 9 145
XXXXX 10 340
XXXXX 11 147
XXXXX 12 900
I successfully loaded above flat file in to BPS cube and it dispalyed in the layout also.
But users are requesting to load flatfile in the below format
Costelmnt Annual(PP=#) Jan(PP=1) Feb(PP=2) ........................................Dec(PP=12)
XXXXX Blank 100 800 900
Is it possible to load a flat file like this
They wants load a single row instead of 13 rows for each costelement
How to do this. Please suggest me if anybody accorss this requirment.
In the infocube we have got only one Info object 0FISCPER3(Posting period) and one 0AMOUNT(Amount)
do we need 13 Infobjects for each posting period and amount.
Is there any possiblity we can implement any user exit which we use in BEX Quer's
Please share your ideas on this.
Thanks in advance
Best regards
SSHi,
There are 2 ways to do this.
One is to change the structure of the cube to have 12 key figures for the 12 posting periods.
Another way is to write an ABAP Function Module to fetch the values from each record based on the posting period and store it in the cube for the corresponding characteristic. This way, you dont have to change the structure of the cube.
If this particular cube is not used anywhere else, I would suggest to change the structure itself.
Hope this helps. -
How can I load a flat file into a ZTABLE dynamically
I need to create a program which can Load a ZTABLE from a flat file structure (delimited and fixed options required). We have many ZTables where this will be required so I was hoping to do it dynamically somehow. Otherwise I will have to create one ABAP for every ZTable we have to load.
My Inputs should be
PARAMETERS: p_ztable TYPE ddobjname, "Z Table Name
p_infile(132) LOWER CASE, "File Name
p_delim(1). "Delimiter
I know that I can read the file by using gui_upload
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = c_infile
has_field_separator = p_delim
TABLES
data_tab = indata
EXCEPTIONS
file_open_error = 1
file_read_error = 2
OTHERS = 9.
I know that I can split the contents of this file (if a delimiter is used). However I will not know the actual field names of the table until runtime as to what to fields to split it into. In the example below I have the actual table (t_rec) and each of the fields (pernr, lgart, etc) in the code but each table I
need to load will be different – it will have a different # of fields as well.
FORM read_data_pc.
LOOP AT indata.
PERFORM splitdata USING indata.
APPEND t_rec.
CLEAR t_rec.
ENDLOOP.
ENDFORM.
FORM splitdata USING p_infile.
SPLIT p_infile AT p_delim INTO
t_rec-pernr "Employee #
t_rec-lgart "Wage Type
t_rec-begda "Effective date
t_rec-endda. "End date
ENDFORM.
Once I split the data into the fields then I can just look and insert the record.
Does anyone have any ideas? Specific code examples would be great if you do. Thx!!Hi janice,,
Try this sample code where you can upload data from a flat file into the internal table.
REPORT z_test.
TABLES: mara.
FIELD-SYMBOLS : <fs> .
DATA : fldname(50) TYPE c.
DATA : col TYPE i.
DATA : cmp LIKE TABLE OF rstrucinfo WITH HEADER LINE.
DATA: progname LIKE sy-repid,
dynnum LIKE sy-dynnr.
DATA itab TYPE TABLE OF alsmex_tabline WITH HEADER LINE.
DATA: BEGIN OF ZUPLOAD1_T OCCURS 0 ,
matnr like mara-matnr,
ersda like mara-ersda,
ernam like mara-ernam,
laeda like mara-laeda,
END OF ZUPLOAD1_T.
*DATA: ZUPLOAD1_T LIKE mara OCCURS 0 WITH HEADER LINE.
DATA: wa_data LIKE TABLE OF ZUPLOAD1_T WITH HEADER LINE.
selection-screen
SELECTION-SCREEN: BEGIN OF BLOCK blk WITH FRAME TITLE text-001.SELECTION-SCREEN : SKIP 1. PARAMETERS : p_file LIKE rlgrap-filename.SELECTION-SCREEN : SKIP 1.SELECTION-SCREEN : END OF BLOCK blk
. AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
F4 Value for File
CALL FUNCTION 'KD_GET_FILENAME_ON_F4' EXPORTING
PROGRAM_NAME = SYST-REPID
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = ' '
static = 'X'
MASK = ' '
CHANGING file_name = p_file EXCEPTIONS mask_too_long = 1 OTHERS = 2
. IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
START-OF-SELECTION.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING filename = P_FILE
i_begin_col = 1
i_begin_row = 1
i_end_col = 5
i_end_row = 12507
tables
intern = ITAB
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3. .
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'GET_COMPONENT_LIST'
EXPORTING
program = SY-REPID
fieldname = 'ZMARA'
tables
components = CMP.
LOOP AT itab. AT NEW row.
IF sy-tabix = 1. APPEND ZUPLOAD1_T.
ENDIF.
ENDAT.
col = itab-col.
READ TABLE cmp INDEX col.
CONCATENATE 'ZUPLOAD1_T-' cmp-compname INTO fldname.
ASSIGN (fldname) TO <fs>.
<fs> = itab-COL.
APPEND ZUPLOAD1_T. ENDLOOP.
DELETE ZUPLOAD1_T where matnr eq space.
LOOP AT ZUPLOAD1_T INTO wa_data.
insert mara from wa_data .
WRITE: / ZUPLOAD1_T-matnr, 20 ZUPLOAD1_T-ersda , 45 ZUPLOAD1_T-ernam, 55 ZUPLOAD1_T-laeda.
*HERE IAM JUST CHECKING I NEED TO UPDATE A ZTABLE
ENDLOOP.
insert ZMARA FROM table itab ACCEPTING DUPLICATE KEYS.
I have tried it for mara.Please let me know whether it was helful.
Regards,
Kannan -
Uploading the data from a flat file into ztable
Hi,
I have a requirement where I have to upload the data from 2 flat files into 2 z tables(ZRB_HDR,ZRB_ITM).From the 1st flat file only data for few fields have to be uploaded into ztable(ZRB_HRD) .Fromthe 2nd flat file data for all the fields have to me uploaded into ztable(ZRB_ITM). How can I do this?
Regards,
Hemahi,
declare two internal table with structur of your tables.
your flat files should be .txt files.
now make use of GUI_UPLOAD function module to upload your flatfile into internal tables.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = 'c:\file1.txt'
has_field_separator = 'X'
TABLES
data_tab = itab1
EXCEPTIONS
OTHERS = 1.
use this function twice for two tables.
then loop them individually and make use of insert command. -
To upload a flat file into BW using a variable entry in web application
hi guys,
how to upload a flat file into the web browser using a
a variable entry in the wad application.
Thanks,
your help will be duly appreciated
Message was edited by:
Vj.R Tthanks arun
but is it not possible to load the flat file at bex level which
might be the same at wad level
and also what do you mean the load package
triggered from the backend and how do i
manipulate the data is it at bex level or wad level
please elaborate.
thanks
your help will be rightly acknowledged. -
Hi,
I have a requirement wherein we have to read the IDOC flat file and post it as IDOC to SAP using XI. I understand we have to use the Flat File Sender adapter and the IDOC Receiver Adapter. On the Sender Side we have to define the Content Conversion to convert the IDOC Flat File to IDOC XML. Writing File Content Conversion for the IDOC Flat File would be very tedious because of the number of fields and fixed structure of the flat file.
I have don through the following guide Section 3.2 where it talks abt converting IDOC to IDOC XML using reportRSEINB00.
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/xi/xi-how-to-guides/how%20to%20convert%20between%20idoc%20and%20xml%20in%20xi%203.0.pdf
I am not clear how to invoke this report in the Flat File Sender adapter. Also is there any other approach.
Thanks
Rajeev GuptaHi Rajeev
You have a flatfile at the sender side so you dnt have any feasiable option to do other than FCC....FCC is not a tediuos one...if you can provide the strucutrre we will help you out...
Check out you have a fixedlength file or piple separated one....
In the functional design how many fields re present and buil the DT,MT MI accoprdingly.....
you have to just use some conecnt conversion parameters that's it...
item.fieldSeparator
item.endSeparator
item.fieldNames
here item is your recordset name
let us know your strucutre
regards
Nisar -
IDOC to Flat file and Flat file to IDOC
Hello Experts,
I have the following requirement in my current project:
Third Party Sender sends the data in the in the below XML format via HTTP:
<?xml version="1.0"?>
<fxEnvelope>
<header>
<message>
<exchangeID></exchangeID>
<messageID></messageID>
<subject></subject>
<payloadType>IDOC</payloadType>
</message>
<from>
<orgID></orgID>
<locationID></locationID>
<messageID></messageID>
</from>
<to>
<orgID></orgID>
<locationID></locationID>
</to>
</header>
<body>
<Opaque>
<DataType></DataType>
<DataStream></DataStream>
</Opaque>
</body>
</fxEnvelope>
In the above XML, the Tag <DataStream> is a string which contains the IDOC flat file.
Now, the scenario is HTTP to IDOC, where the sender sends the above XML payload and PI needs to convert <DataStream> to IDOC XML and pass it on to the receiver R/3.
But the challange i am facing is converting this <DataStream> tag which contains the IDOC flat file to IDOC XML using a Mapping program.Since both adapters are running on ABAP stack i can not go for Adapter Modules available(We are using PI 7.10).
Looking for some guidance on the same.
Thanks in advance.
Cheers,
Manasa.There are 2 options for you
In either case, you might need a java mapping to convert the DataStream into String. Use a file adpater to write this string to IDOC-File.
1) Option1: Write the content of DataStream into IDOC-Flatfile.(java mapping) Pick it from PI to convert IDOC-flat file inot IDOC-XML (using std features of PI) & send it to ECC.
2) Option2: Write the Content of DataStream to IDOC-Flatfile (accessible to ECC system). Configure WE21 to pick the file from a file port.
If the datastream was IDOC-XML, then it would have been simpler, it will be a direct communcation from PI to ECC (using java mapping & IDOC adapter).
Regards,
Siva Maranani -
How to upload a Flat file into sap database if the file is in Appl'n Server
Hello Sap Experts , Can you tel me
" How to upload a Flat file into sap database if the file is in Application Server.
what is Path for that ?
Plz Tel Me its Urgent
Thanks for allHi,
ABAP code for uploading a TAB delimited file into an internal table. See code below for structures.
*& Report ZUPLOADTAB *
*& Example of Uploading tab delimited file *
REPORT zuploadtab .
PARAMETERS: p_infile LIKE rlgrap-filename
OBLIGATORY DEFAULT '/usr/sap/'..
DATA: ld_file LIKE rlgrap-filename.
*Internal tabe to store upload data
TYPES: BEGIN OF t_record,
name1 like pa0002-VORNA,
name2 like pa0002-name2,
age type i,
END OF t_record.
DATA: it_record TYPE STANDARD TABLE OF t_record INITIAL SIZE 0,
wa_record TYPE t_record.
*Text version of data table
TYPES: begin of t_uploadtxt,
name1(10) type c,
name2(15) type c,
age(5) type c,
end of t_uploadtxt.
DATA: wa_uploadtxt TYPE t_uploadtxt.
*String value to data in initially.
DATA: wa_string(255) type c.
constants: con_tab TYPE x VALUE '09'.
*If you have Unicode check active in program attributes then you will
*need to declare constants as follows:
*class cl_abap_char_utilities definition load.
*constants:
* con_tab type c value cl_abap_char_utilities=>HORIZONTAL_TAB.
*START-OF-SELECTION
START-OF-SELECTION.
ld_file = p_infile.
OPEN DATASET ld_file FOR INPUT IN TEXT MODE ENCODING DEFAULT.
IF sy-subrc NE 0.
ELSE.
DO.
CLEAR: wa_string, wa_uploadtxt.
READ DATASET ld_file INTO wa_string.
IF sy-subrc NE 0.
EXIT.
ELSE.
SPLIT wa_string AT con_tab INTO wa_uploadtxt-name1
wa_uploadtxt-name2
wa_uploadtxt-age.
MOVE-CORRESPONDING wa_uploadtxt TO wa_upload.
APPEND wa_upload TO it_record.
ENDIF.
ENDDO.
CLOSE DATASET ld_file.
ENDIF.
*END-OF-SELECTION
END-OF-SELECTION.
*!! Text data is now contained within the internal table IT_RECORD
* Display report data for illustration purposes
loop at it_record into wa_record.
write:/ sy-vline,
(10) wa_record-name1, sy-vline,
(10) wa_record-name2, sy-vline,
(10) wa_record-age, sy-vline.
endloop.
Maybe you are looking for
-
New MacBook and The Infinitely Spinning Beach Ball: Anybody Else?
I wonder if I'm the only MacBook owner having this experience, or if there might be some company in my misery? I purchased a new Aluminum MacBook on Nov.14. This one is the high-end, 2.4GHz model with 4GB of RAM and currently running OSX 10.5.5. I ha
-
Hi We have a requirement where we need to lad the flat files. But the user gives the flat file in one excel sheet and itu2019s in different sheets. In sheet1 I have 30 K records and in second sheet 50 K records. But I need to load this file with out
-
JTextfield input Date convert to java.sql.Date
Hi. I have a textfield for users to input date in 'dd/mm/yyyy' format and I would like to format this input into java.sql.Date to be stored into a database. How should I go about doing that ? I did the following: SimpleDateFormat formatDate = new Sim
-
Rebate agreements total target
Hi My customer has requirement regarding rebate agreements : Customer should receive credit memo if he reach TTL target for specific month. TTL target is SUM of targets for all groups of materials for current month. Basis for discount will be total b
-
Greetings All, We are currently hosting a Visual FoxPro 9.0 SP2 application on a Windows 2003 server. I have attempted to virtualize the server using VMware's P2V converter. The conversion went flawlessly with no errors and the virtual server star