on 04-09-2008 5:14 PM
Hi,
I created a File to IDOC scenario.
File is sender and IDOC receiver
file to multiple IDOC's
My file is a flat file with multiples lines. Each line has to build an iDOC.
after importing the IDOC in IR. i exported the XSD and amended minOccurs ="0" maxOccurs = "999999999".
done the mapping.
all segments mapped to 1 and begin to 1.
in ID
assigned business system for receiver and created business service to sender.
in sender busines service dont header mapping in receiver agreement .
when i try to run the scenario i am facing the below mentioned error.
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Call Adapter
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
<SAP:Category>XIAdapter</SAP:Category>
<SAP:Code area="IDOC_ADAPTER">ATTRIBUTE_IDOC_METADATA</SAP:Code>
<SAP:P1>MSGGUID FE3976E6B02040BC1044BC82837250F0: Tag found instead of tag IDOC BEGIN=</SAP:P1>
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>Error: MSGGUID FE3976E6B02040BC1044BC82837250F0: Tag found instead of tag IDOC BEGIN=</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
I don't know whats wrong.
Please help me.
Hi,
Refer the below weblog:
/people/venugopalarao.immadisetty/blog/2007/01/24/troubleshooting-file-to-idoc-scenario-in-xi
Check the receiver communication channel (Created using IDOC adapter). In this communication channel check if the two mandatory parameters are passed correctly.
Following is further info on those two mandatory parameters.
(i)Check if the RFC destination which is created in XI to connect the target SAP R/3 system is working fine.
(ii)Check if the port that has been created in XI is in the form SAP<SID of R/3 system>. If not, create in the form of SAP<SID of R/3 system>. To this port, specify the above RFC Destination.
chirag
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi again
I gonna put write more details to see if you can help me.
A example of my flat is:
+U01032005020070071Z1Sr.CarbonellPuyRoberto... +U01032005020008071Z2Sr.Gallardo PailMario
Each line has to reach an iDoc.
I have to map this lines (number of characters always the same)
I make a DT for the input file like this:
DT_EMPLEADOS_MULT
LINEA
INDICADOR
TIPO
BEGDA
WERKS
....
I want to take each line of the file, and create one LINEA to map it into and IDOC.
I did this in the Content Conversion Parameters:
Document Name: MT_EMPLEADOS_MULT
Document Namespace: http://www.abertis.com/saphr-empleados
Recordset Structure: LINEA,*
Recordset Sequence: Ascending
Recordsets per Message: 1
LINEA.fieldNames : INDICADOR,TIPO,BEGDA,WERKS,...
LINEA.processConfiguration: FromConfiguration
LINEA.endSeparator: 'nl'
LINEA.fieldFixedLengths: 1,4,8,4,4,1,2,5,25,25,25....
ignoreRecorsetName: false
LINEA.lastFieldsOptional: YES
With this I got in the xml:
<?xml version="1.0" encoding="utf-8" ?>
- <ns:MT_EMPLEADOS_MULT xmlns:ns="http://www.abertis.com/saphr-empleados">
- <Recordset>
- <LINEA>
<INDICADOR>+</INDICADOR>
<TIPO>*U</TIPO>
<BEGDA>01032005</BEGDA>
<WERKS>0200</WERKS>
<PERSG>1</PERSG>
<PERSK>Z2</PERSK>
<ANREX>Sr.</ANREX>
<NACHN>Carbonell</NACHN>
.....
</LINEA>
- <LINEA>
<INDICADOR>+</INDICADOR>
<TIPO>*U</TIPO>
<BEGDA>01032005</BEGDA>
<WERKS>0200</WERKS>
<PERSG>1</PERSG>
<PERSK>Z2</PERSK>
<ANREX>Sr.</ANREX>
<NACHN>Gallardo</NACHN>
.....
</LINEA>
</Recordset>
</ns:MT_EMPLEADOS_MULT
How can I map each LINEA to an IDOC.
What does it means this </Recordset>?
Should I make this mapping question in another thread?
Can you help me?
Regards.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Ur previous error message was:
Error: MSGGUID FE3976E6B02040BC1044BC82837250F0: Tag found instead of tag IDOC BEGIN=
can u check the mapping of IDOC BEGIN. map it to constant value.
did ur problem got solved.
now coming to next question.
IDOC root occurrence is always 0-1 hence it can occur only once.
Now if u have a requirement to generate as many IDOC based on the as many LINEA from input then in this case u need to change the IDOC root occurrence's form 0-1 to 0- unbounded and map it to LINEA.
For the occurrence change u need to change the IDOC root occurrence either using XML-spy or stylus studio and import the new IDOC structure in External definition on IR and use that structure.
refer this:
/people/michal.krawczyk2/blog/2005/12/04/xi-idoc-bundling--the-trick-with-the-occurance-change
So if there are 5 LINEA coming then 5 IDOC will be created.
chirag
Edited by: Chirag Gohil on Apr 9, 2008 10:28 PM
Hi Chiraq
Thank you for your quick response...
I already did this, and I download the ZHR_EMPLEADOS.ZHR_EMPLEADOS like a XSD file. I changed the occurs to minOccurs="0" maxOccurs="999999999".
Then I upload this new ZHR_EMPLEADOS01 like a External Definition.
In my Map I have:
MT_EMPLEADOS_MULT ZHR_EMPLEADOS01
LINEA --> IDOC
1 -
> BEGIN
LINEA -
>EDI_DC40
1 -
> SEGMENT
LINEA -
> ZMHR_CAB
1----> SEGMENT
INDICADOR --> INDICADOR
LINEA -
> ZE1P0001
....and so on
So I have this LINEA map to every segment in the idoc.
I don't know if the map is right.
What should I have to do with this "Recordset"?
Regards.
Thanks for your help.
User | Count |
---|---|
94 | |
11 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.