cancel
Showing results for 
Search instead for 
Did you mean: 

Getting Receiver Agreement issue in IDOC to File scenario

Former Member
0 Kudos

Hi Gurus,

Need your help. I'm working on a IDOC to File scenario. I'm using CREMDM.CREMDM04 as outbound Interface & small structure VEND_FILE_IN_MI as Inbound Interface. Though I've configured the receiver Communication Channel as a File Adapter with proper Inbound Interface I'm seeing the message getting failed which is showing CREMDM.CREMDM04 as both Outbound & Inbound interface and pointing a Receiver Agreement issue . The Receiver service is coming Properly, only the Interface is coming wrong as the sender interface. I've checked both Receiver Agreement & Receiver determination and found the Receiver Service, Communication Channel & Interface are perfectly mapped there, I cross checked the same Configurations in IE via SXI_CACHE after full Cache copy.

Error Message:

No receiver agreement found for sender -SAPERP to receiver -IDOC2FileReceiver,urn:sap-com:document:sap:idoc:messages

Error Category : Outbounding

Error ID : CO_TXT_OUTBINDING_NOT_FOUND

My IR design:

Sender:

Interface : VEND_IDOC_OUT_MI

Message Type : CREMDM.CREMDM04

Receiver:

Interface : VEND_FILE_IN_MI

Message Type : VEND_IN_MT , Data Type VEND_FILE_DT

My ID Config:

1. Sender / Outbound Message: Service Type --> Business System

Service ---> SAPERP

Interface--> VEND_IDOC_OUT_MI

Adapter Type : IDOC

2. Receiver / Inbound Message: Service Type --> Business Service

Service --> IDOC2FileReceiver

Interface ---> VEND_FILE_IN_MI

Adapter Type--> File

3. In Sender Agreement : Specified the Sender Communication Channel

VEND_IDOC_OUT_Channel

4. In Receiver Agreement Configured the receiver service IDOC2FileReceiver aging sender service SAPERP & Interface VEND_IDOC_OUT_MI.

5. In Interface Determination Specified the Inbound Interface VEND_FILE_IN_MI and Interface Mapping VEND_IDOC_FILE_IMAP

6. In Receiver Agreement specified the receiver communication Channel IDOC2FileChannel against Receiver Service & Interface.

I used the Configuration wizard in my second attempt to make sure the sequence of configuration.

Can anyone help me identifying what's going wrong. I'm very new to XI and basically this is the first assignment I'm working on.

Regards,

Subhadip

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

1)do not create any message interface for sender IDOC side,use imported IDOC structure where ever the interface is needed on sending side.

2)no sender agreement exists for IDOC to file scenario.

3)>>>>"The Receiver service is coming Properly, only the Interface is coming wrong as the sender interface"

may be you have created reciever Mesage interface for the file structure as OUTBOUND not as INBOUND.for the recieving side it should be INBOUND(it is with respective to external system not with XI system).

Former Member
0 Kudos

Hi Babu !!

Yes, you're right, sorry. IDOC goes directly to integration server without adapter.

Regards,

Matias.

Answers (8)

Answers (8)

Former Member
0 Kudos

Thanks Everyone for your valuable suggestions. With your help I managed to solve the problem.

Former Member
0 Kudos

Hi Babu,

Thanks a lot. Now I'm getting multiple vendor but the XML format problem is still there. The file is still coming with XML tags. Any idea how to format it like a flat file of the defined structure of 12 fields.

Regards,

Subhadip

Former Member
0 Kudos

use file content conversion parameters in receiver file adapter.then it will show parameters box at the bottom there you specify the parameters.

search in sdn like receiver file adapter content conversion you get lot of stuff.

see this link

http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm

Former Member
0 Kudos

Hi Babu,

In DataType definition the Data structure is a flat structure containing only 12 field, no subnodes are defined. The occurrence is set 0..unbounded at the element level while I don't see an option to set occurrence at the top node i.e structure name level which says the category as "Complex Type".

At the message mapping level the Both the IDoc & Data type topmost node the Occurrence is coming as 1..1. I haven't set that and not sure if that's normal. Not sure whether I can change that. I'd highly appreciate if you can give me the idea where from this occurrence is getting set.

While I test the IDOC outbound payload in message mapping test option, I find it's too returning only one record while the IDOC got 52 records.

Please help me to solve this issue. I can send you the screen shots of the data type, messege mapping, Outbound payload if you need and if I can have your email since I can't add attachement here.

Regards,

Subhadip

subhadipdas.sarma@adc.com

Former Member
0 Kudos

I think you have VEND_FILE_DT as your main root.

try changing the max occurrence for this root and try if it doesnt work then you have to create a subnode under VEND_FILE_DT something like ABC_SUBNODE(0....unbounded)

and under ABC_SUBNODE define your all fiels VENDNAME,VENDCODE etc...

it should work.

Former Member
0 Kudos

Hi Babu,

In the Inbound data type all the fields have MinOccurance = 0 and MaxOccurances unbounded.

Please find the XSD:

<?xml version="1.0" encoding="ISO-8859-1"?>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://adc.com/poc/sample" targetNamespace="http://adc.com/poc/sample">

<xsd:complexType name="VEND_FILE_DT">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

8f584d80456311dccd680018fe79f69b

</xsd:appinfo>

</xsd:annotation>

<xsd:sequence>

<xsd:element name="VENDCODE" minOccurs="0" maxOccurs="unbounded">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

a8653cb0390c11dc843000188bd09370

</xsd:appinfo>

<xsd:documentation xml:lang="EN">

Vendor Code

</xsd:documentation>

</xsd:annotation>

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:minLength value="0" />

<xsd:maxLength value="50" />

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name="VENDNAME1" minOccurs="0" maxOccurs="unbounded">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

a8653cb4390c11dc84e800188bd09370

</xsd:appinfo>

<xsd:documentation xml:lang="EN">

Vendor name4

</xsd:documentation>

</xsd:annotation>

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:minLength value="0" />

<xsd:maxLength value="50" />

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name="ORT01" minOccurs="0" maxOccurs="unbounded">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

a8653cb5390c11dcbe3400188bd09370

</xsd:appinfo>

<xsd:documentation xml:lang="EN">

Vendor City

</xsd:documentation>

</xsd:annotation>

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:minLength value="0" />

<xsd:maxLength value="50" />

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name="PFACH" minOccurs="0" maxOccurs="unbounded">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

a8653cb6390c11dc896100188bd09370

</xsd:appinfo>

<xsd:documentation xml:lang="EN">

Vendor PO Box

</xsd:documentation>

</xsd:annotation>

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:minLength value="0" />

<xsd:maxLength value="50" />

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name="STRAS" minOccurs="0" maxOccurs="unbounded">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

4811db0335fd11dc9e9600188bd09370

</xsd:appinfo>

<xsd:documentation xml:lang="EN">

Vendor House No &amp; Street

</xsd:documentation>

</xsd:annotation>

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:minLength value="0" />

<xsd:maxLength value="50" />

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name="PSTLZ" minOccurs="0" maxOccurs="unbounded">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

4811db0435fd11dc98b000188bd09370

</xsd:appinfo>

<xsd:documentation xml:lang="EN">

Vendor Postal Code

</xsd:documentation>

</xsd:annotation>

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:minLength value="0" />

<xsd:maxLength value="50" />

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name="LAND1" minOccurs="0" maxOccurs="unbounded">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

4811db0535fd11dc870500188bd09370

</xsd:appinfo>

<xsd:documentation xml:lang="EN">

Vendor Country

</xsd:documentation>

</xsd:annotation>

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:minLength value="0" />

<xsd:maxLength value="50" />

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name="STCD1" minOccurs="0" maxOccurs="unbounded">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

7ca8d600403b11dcc9bd00188bd09370

</xsd:appinfo>

<xsd:documentation xml:lang="EN">

Tax Number 1

</xsd:documentation>

</xsd:annotation>

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:minLength value="0" />

<xsd:maxLength value="50" />

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name="TELF1" minOccurs="0" maxOccurs="unbounded">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

9abaee7040e611dcce4300188bd09370

</xsd:appinfo>

<xsd:documentation xml:lang="EN">

Telephone number

</xsd:documentation>

</xsd:annotation>

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:minLength value="0" />

<xsd:maxLength value="50" />

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name="STCEG" minOccurs="0" maxOccurs="unbounded">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

9abaee7140e611dc8f3900188bd09370

</xsd:appinfo>

<xsd:documentation xml:lang="EN">

VAT Registration Number

</xsd:documentation>

</xsd:annotation>

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:minLength value="0" />

<xsd:maxLength value="50" />

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name="LIFNR" minOccurs="0" maxOccurs="unbounded">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

9abaee7240e611dccef700188bd09370

</xsd:appinfo>

<xsd:documentation xml:lang="EN">

Account Number of Vendor or Creditor

</xsd:documentation>

</xsd:annotation>

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:minLength value="0" />

<xsd:maxLength value="50" />

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

<xsd:element name="ALTKN" minOccurs="0" maxOccurs="unbounded">

<xsd:annotation>

<xsd:appinfo source="http://sap.com/xi/TextID">

9abaee7340e611dcb3bc00188bd09370

</xsd:appinfo>

</xsd:annotation>

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:minLength value="0" />

<xsd:maxLength value="50" />

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

</xsd:schema>

Former Member
0 Kudos

I am not talking about individual fields,node of those individual fields

for ex;

XYZ_DT

DATA -


> this should have max occurrence 'unbounded'

VENDCODE

VENDNAME1

.......

check this.

or let me know how you defined your DT structure?

Former Member
0 Kudos

Hi All,

Sorry for the late response as I was busy in some other stuff. With your guidance I solved the Receiver Agreement & Mapping issue partially. There had been some more troubles related to Adapter Framework but somehow I'm able to solve that. Now I'm able to transmit the message to the File server via File adapter but the message is formatted as XML and only 1 vendor IDOC record is transferring though the IDoc has 52 vendor records. Is it a Mapping problem? Is Multimapping required? I've just done the Graphical mapping of fields between Outbound Idoc and the Inbound Message structure.

Following is the file content delivered by File Adapter . The field names in this file is as specified in the Inbound structure but contains XML tags, also there should have been 52 records.

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

<ns0:VEND_IN_MT xmlns:ns0="http://adc.com/poc/sample"><VENDCODE>0000100005</VENDCODE><VENDNAME1>SHANGHAI MACHINERY COMPLETE</VENDNAME1><ORT01>SHANGHAI</ORT01><PFACH>200060</PFACH><STRAS>285 CHANG SHOU ROAD</STRAS><PSTLZ>200060</PSTLZ><LAND1>CN</LAND1><TELF1>8621-6227-0300</TELF1><LIFNR>0000100005</LIFNR></ns0:VEND_IN_MT>

Can you please help?

Regards,

Subhadip

Former Member
0 Kudos

what is the max occurrence of the root node of the fields(VENDCODE,VENDNAME1 etc...)?

might be '1" change that to 'unbounded' in DT and then do the refresh in Message Mapping(MM) and that change in Dt should get reflected in MM.

and try now.

Former Member
0 Kudos

Thanks Amir, Matias & Babu. I did the changes as suggested by you. Following is the summary of corrections.

1. Removed Outbound Messege Interface VEND_IDOC_OUT_MI & corresponding Messege Type VEND_FILE_IN_MI.

2. I kept the Inbound, Async Interface VEND_FILE_IN_MI and corresponding Messege type VEND_IN_MT untouched

3. Interface mapping points to CREMDM.CREMDM04 as outbound interface now.

4. Kept the existing Messege mapping VEND_IDOC_FILE_MMAP between CREMDM.CREMDM04 & VEND_IN_MT ountouched. Tested the mapping to be fine.

4. Rebuilt the ID configuration to have

a) Receiver Determination with Sender --> Service : SAPERP;

Interface: CREMDM.CREMDM04,

Configured Receiver --> Service: IDOC2FileReceiver

b) Interface Determination with Sender --> Service : SAPERP;

Interface: CREMDM.CREMDM04

Receiver --> Service: IDOC2FileReceiver

Configured Inbound Interfaces--> Inbound Interface: VEND_FILE_IN_MI;

Interface Mapping: VEND_IDOC_FILE_IMAP

c) Receiver Agreement with Sender --> Service : SAPERP

Receiver--> Service : IDOC2FileReceiver

Interface: VEND_FILE_IN_MI

Receiver Communication Channel : IDoc2FileChannel (which is File adapter based Comm Channel)

d) Dropped the sender IDoc Communication Channel & also dropped the Sender Agreement

With this changes the Receiver agreement problem got resolved but I'm getting a different error related to messege mapping transformation (section: Request Message Mapping) .

Details of error message:

com.sap.aii.utilxi.misc.api.BaseRuntimeException thrown during application mapping com/sap/xi/tf/_VEND_IDOC_FILE_MMAP_: RuntimeException in Message-Mapping transformatio~

Exception of class CX_XMS_SYSERR_MAPPING

Error Category : Mapping

Error ID : EXCEPTION_DURING_EXECUTE

Error messege in XML Payload:

<!-- Request Message Mapping -->

- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">

<SAP:Category>Application</SAP:Category>

<SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code>

<SAP:P1>com/sap/xi/tf/_VEND_IDOC_FILE_MMAP_</SAP:P1>

<SAP:P2>com.sap.aii.utilxi.misc.api.BaseRuntimeException</SAP:P2>

<SAP:P3>RuntimeException in Message-Mapping transformatio~</SAP:P3>

<SAP:P4 />

<SAP:AdditionalText />

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack>com.sap.aii.utilxi.misc.api.BaseRuntimeException thrown during application mapping com/sap/xi/tf/_VEND_IDOC_FILE_MMAP_: RuntimeException in Message-Mapping transformatio~</SAP:Stack>

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

</SAP:Error>

Former Member
0 Kudos

Hi Subhadip !

Alright !

You can see this thread :

it talks about your error.

Try this: open the message in the sxmb_moni, copy the xml source of the outbound payload, and use it in the test option of the mapping in the integration repository..check if it also throws the error, maybe your mapping has some error for specific cases.

Regards,

Matias.

Former Member
0 Kudos

Hi Subhadip !!

With IDOCs, there is no need to create Message Interface objects based on the imported IDOC types. Just use the imported IDOC type in your interface mapping. You should use only one message interface in this scenario, and this should be the one for the inbound file.

Regards,

Matias.

Former Member
0 Kudos

"Also in sender agreement, use the imported IDOC type."

no sender agreement for IDOC to file scenario,no CC to send Idoc to XI,so no Sender Agreement too.

Former Member
0 Kudos

Hey

>>I'm using CREMDM.CREMDM04 as outbound Interface

No need for this,use IDOC directly in ur message mapping.

also make sure you have done correct message mapping between IDOC and file ,

please cross check the receiver parameters once again in ID

Thanx

Aamir