cancel
Showing results for 
Search instead for 
Did you mean: 

XI Business content for MDM - Syntax error in IDOC adapter

Former Member
0 Kudos

Hi mates,

I'm trying out the Master Data Harmonization scenario for Vendor data with R/3 as the client system. I'm using SAP delivered XI Business content for MDM. The mapping program is generating ADRMAS and CREMAS IDocs but the IDOC adapter reports that there is a syntax error in ADRMAS IDOC. Find below the details.

<i><SAP:Category>XIAdapter</SAP:Category>

<SAP:Code area="IDOC_ADAPTER">ATTRIBUTE_IDOC_METADATA</SAP:Code>

<SAP:P1>Segment 'E1BPAD1VL', segmentnumber '000001' not correct in structure ADRMAS02</SAP:P1>

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText />

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack>Error: Segment 'E1BPAD1VL', segmentnumber '000001' not correct in structure ADRMAS02</SAP:Stack>

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

Generated ADRMAS IDOC is

<i> <?xml version="1.0" encoding="utf 8" ?>

<ADRMAS02>

<IDOC BEGIN="1">

<EDI_DC40 SEGMENT="1" />

<E1ADRMAS>

<OBJ_TYPE>LFA1</OBJ_TYPE>

<OBJ_ID>0000500140</OBJ_ID>

<CONTEXT>0001</CONTEXT>

<E1BPAD1VL SEGMENT="1">

<FROM_DATE>00010101</FROM_DATE>

<TO_DATE>99991231</TO_DATE>

<NAME>Swift Transportation</NAME>

<COUNTRY>US</COUNTRY>

<COUNTRYISO>US</COUNTRYISO>

<LANGU>E</LANGU>

<LANGU_ISO>EN</LANGU_ISO>

<SORT1>SWIFT TRANSPORTATION</SORT1>

<TIME_ZONE>CST</TIME_ZONE>

<E1BPAD1VL1 SEGMENT="1">

<LANGU_CR>E</LANGU_CR>

<LANGUCRISO>EN</LANGUCRISO>

<ADDR_GROUP>BP</ADDR_GROUP>

</E1BPAD1VL1>

</E1BPAD1VL>

</E1ADRMAS>

</IDOC>

</ADRMAS02></i>

Strangely, the control record is blank. I looked at the XSLT program, it is coded that way. I do not understand the reason. Is the error pointing to the control record?

Look at the code sample from XSLT mapping program

  <xsl:for-each select="IDOC/*/E1ADRMAS">
  	<IDOC BEGIN="1">
  	<!-- The header data of each single ADRMAS-IDoc needs to be there but does not require specific data -->
  		<EDI_DC40 SEGMENT="1"/>
  		<xsl:apply-templates select="."/>
  	</IDOC>  
  </xsl:for-each>

How can an IDOC w/o control record be posted?

Did anyone come across this error? Whats wrong/missing?

I appreciate ur inputs.

thx in adv

praveen

Accepted Solutions (0)

Answers (1)

Answers (1)

moorthy
Active Contributor
0 Kudos

Hi,

If you ignore the control record, it will take the dynamic value while posting the idocs.

Probably Idoc Metadata is giving some problem.

Go to Transaction IDX1 and reimport the idoc into XI. Before this delete the existing entry and check it.

Regards,

Moorthy

Former Member
0 Kudos

Moorthy,

I tried reloading the IDOC metadata from IDX2. Still I get the same error.

Regd, IDOC w/o control record, can u elaborate on "dynamic value while posting IDOCs". From where, XI message SOAP header with Business System replaced by corresponding logical system names?

Thanks

Praveen

moorthy
Active Contributor
0 Kudos

Hi,

Here dynamic, I refer to during runtime, receiver Idoc adapter takes control record from SLD- Business System associated with it..Provided if you disable the control record option during mapping.

To help on this- /people/michal.krawczyk2/blog/2005/09/01/xi-idoc-adapter--edidc40--demystified

Regards,

Moorthy