on 07-30-2007 6:53 PM
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
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).
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks Everyone for your valuable suggestions. With your help I managed to solve the problem.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
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 & 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>
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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>
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Subhadip !
Alright !
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.
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.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.