cancel
Showing results for 
Search instead for 
Did you mean: 

Receiver Idoc adapter - issue

Former Member
0 Kudos

Hi,

I need to send an IDoc (CRMXIF_ORDER_SAVE_M01) to SAP CRM. The trouble occur when having/wanting to use/send only the segments that apply to release 620.

In order to do that I have in my receiver IDoc adapter specified the value '620' in the Segment Version part.

As soon as having done this my IDocs fail in the adapter giving me the following error:

- <!-- 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>Segment 'E101CRMXIF_ACTIVITY_X', segmentnumber '000001' not correct in structure CRMXIF_ORDER_SAVE_M01</SAP:P1>

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText />

<SAP:ApplicationFaultMessage namespace="" />

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

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

</SAP:Error>

The segment specified in the above corresponds to the very fist sub-segment to the main segment (BUSTRANS). So if removing that segment the error jumps to the next segment (which would then be the first sub-segment).

Should be noted that I have no trouble sending IDocs if I've either not specified a Segment version (meaning latest version is automatically used) or if I explicitly request the latest by entering the latest segment release (700 in my case).

<Trace level="1" type="T">Convert one IDoc</Trace>

<Trace level="2" type="T">Convert Control Record</Trace>

<Trace level="2" type="T">Convert Data Records</Trace>

<Trace level="3" type="T">Segment= E101CRMXIF_BUSTRANS</Trace>

<Trace level="2" type="T">Ignore unknown Segment E101CRMXIF_BUSTRANS</Trace>

<Trace level="2" type="T">Ignore segment field: APPL_SNAME</Trace>

<Trace level="2" type="T">Ignore segment field: OBJECT_TASK</Trace>

<Trace level="2" type="T">Ignore segment field: OBJECT_GUID</Trace>

<Trace level="2" type="T">Ignore segment field: OBJECT_ID</Trace>

<Trace level="2" type="T">Ignore segment field: PROCESS_TYPE</Trace>

<Trace level="2" type="T">Ignore segment field: OBJECT_TYPE</Trace>

<Trace level="2" type="T">Ignore segment field: POSTING_DATE</Trace>

<Trace level="2" type="T">Ignore segment field: DESCR_LANGUAGE</Trace>

<Trace level="2" type="T">Ignore segment field: DESCR_LANGUAGE_ISO</Trace>

<Trace level="2" type="T">Ignore segment field: LOGICAL_SYSTEM</Trace>

<Trace level="2" type="T">Ignore segment field: CRM_RELEASE</Trace>

<Trace level="2" type="T">Ignore segment field: CLIENT</Trace>

<Trace level="2" type="T">Ignore segment field: CREATED_AT</Trace>

<Trace level="2" type="T">Ignore segment field: CREATED_BY</Trace>

<Trace level="2" type="T">Ignore segment field: CHANGED_AT</Trace>

<Trace level="2" type="T">Ignore segment field: CHANGED_BY</Trace>

<Trace level="2" type="T">Ignore segment field: LOCAL_TIMEZONE</Trace>

<Trace level="2" type="T">Ignore segment field: OBJECT_ID_OK</Trace>

<Trace level="2" type="T">Ignore segment field: HIGHEST_ITEM_NO</Trace>

<Trace level="2" type="T">Ignore segment field: CRM_CHANGED_AT</Trace>

<Trace level="2" type="T">Ignore segment field: CALC_SCHEMA</Trace>

<Trace level="2" type="T">Ignore segment field: SCENARIO</Trace>

<Trace level="2" type="T">Ignore segment field: VALID_FROM_EXT</Trace>

<Trace level="2" type="T">Ignore segment field: VERIFY_DATE</Trace>

<Trace level="3" type="T">Segment= E101CRMXIF_ACTIVITY_X</Trace>

<Trace level="3" type="T">Segment= E101CRMXIF_ACTIVITY</Trace>

<Trace level="3" type="T">Segment= E101CRMXIF_ADDRESS</Trace>

<Trace level="3" type="T">Segment= E103CRMXIF_ADDRESS</Trace>

<Trace level="3" type="T">Segment= E107CRMXIF_ADDRESS</Trace>

<Trace level="2" type="T">Ignore unknown Segment E107CRMXIF_ADDRESS</Trace>

<Trace level="3" type="T">Segment= E101CRMXIF_ADDRESS_F</Trace>

<Trace level="3" type="T">Segment= E101CRMXIF_ACT_REASON</Trace>

<Trace level="3" type="T">Segment= E101CRMXIF_ACT_REASON_F</Trace>

...

Hope someone can help me so that I can succesfully limit the segment version used when sending Idocs.

Best regards,

Daniel

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

HI,

check the values for the below segment

E101CRMXIF_BUSTRANS and E107CRMXIF_ADDRESS , are there any mandatory fields in that segment and map the parent nodes of these two segments with empty constants

Regards

Chilla

Former Member
0 Kudos

Hi,

Well, since I currently trying to send an IDoc as it looks when I received it from CRM (except for the EDI_part) then I believe everything should be fine already.

Best Regards,

Daniel

bhavesh_kantilal
Active Contributor
0 Kudos

Daniel,

A few checkpoints,

1. Are all segments in the correct order? If using a Mapping like Java where you are creating the XML strcuutre, make sure that the Segements are in the same order.

2. Are you creayting a blank Segment , i.e, <SegmentName> </SegmentName> . As far as I know, a blank segment will trigger an error and so you need to have atleast one of the fields of the segment created in the target.

3. Make sure that all Segments have the attribute SEGMENT with value as 1.

Regards

Bhavesh

Former Member
0 Kudos

Hi,

Thanks for your quick reply.

The funny thing is that even if a try to post the exact same idoc (except for the EDI part) that I have received from CRM it still fails in XI with the before mentioned error.

But to answer your questions:

1. I'm not using java mapping but traditional message mapping (meta-data are up-to-date and structure is newly loaded).

2. No blank segments are being created

3. All segments have value 1 or blank (using blank works fine for me, that is when not trying to limit Segment version. But using 1 makes no difference)

Best Regards,

Daniel

bhavesh_kantilal
Active Contributor
0 Kudos

Daniel,

One last thing to do would be to delete the Idoc Metadata in IDX2 , reload the Idoc Metadata in IDX2 and give this a shot.

Regards

Bhavesh

Former Member
0 Kudos

Hi,

I tried that already, but changes nothing.

Best Regards,

Daniel