cancel
Showing results for 
Search instead for 
Did you mean: 

In segment IDOC attribute I occurred instead of SEGMENT

Former Member
0 Kudos

Hi

I am trying to post an IDOC thru XI, using XSLT(ABAP Engine) to convert an incoming message to IDOC format.

Though the IDOC output is well formed, the message fails with an error message(see below). Has anyone experienced this problem before?

I am on XI 3.0 SP14, connectiing to an 4.6D system. IDOC -FIDCCP01.

I had the output pulled into an XML editor for validation, but it does not report any errors.

Any pointers?

-Feroz

<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>IDoc XML data record: In segment IDOC attribute I occurred instead of SEGMENT</SAP:P1>

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText />

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack>Error: IDoc XML data record: In segment IDOC attribute I occurred instead of SEGMENT</SAP:Stack>

<SAP:Retry>M</SAP:Retry>

</SAP:Error>

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Feroz,

Copy the message and check which segment does not have the attribute literal SEGMENT.

to be clear, your data should be like <b><E1KNA1M SEGMENT="1"></b>, probably you have something like this <b><E1KNA1M 1="1"></b>.

XML Editor does not cause an error becuase it does not care what the attribute literal is. Once you correct that, you should be fine.

Regards

Shravan

Answers (2)

Answers (2)

Former Member
0 Kudos

Thanks to all SDNners who responded. I got a few clues, and than some research. I had to do the following to resolve this issue.

1. Uncheck the Copy Control in the adapter

2. Remove Indentation

3. In the XSLT, replaced < with &gt (as I had used xsl:text

4. Also, had to create only one FIDCCP01 segment with multiple IDOC segments corresponding to each IDOC.

Thanks again.

Feroz

Former Member
0 Kudos

Hi Sravan:

Thanks for the response.

Actually, the IDOC is well formed, witht the right attributes etc. In fact, I have <IDOC BEGIN="1">, while the error message says the IDOC segment has the attribute 'I', which doe snot make any sense at all.

Any pointers?

-Feroz

Former Member
0 Kudos

Hi Feroz,

This is error while using XSLT. Remove indent = yes from XSLT mapping.

just use:

<?xml version=""1.0 encoding="UTF-8"?>

And it will do the magic.

Regards,

Satish