cancel
Showing results for 
Search instead for 
Did you mean: 

ATTRIBUTE_IDOC_METADATA

Former Member
0 Kudos

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.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

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

Answers (1)

Answers (1)

Former Member
0 Kudos

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.

Former Member
0 Kudos

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

Former Member
0 Kudos

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.

Former Member
0 Kudos

Hi,

Regarding mapping u need to ask ur functional people usually they provide the mapping sheet and accordingly u need to do the mapping in XI.

chirag

Edited by: Chirag Gohil on Apr 9, 2008 10:51 PM

Former Member
0 Kudos

I gonna close this thread.

I already solve my doubts.

Thanks for your replays.