on 02-02-2015 9:49 AM
Hi All,
We are on SAP PI 7.4 and have a requirement where in we have to map an incoming file to Idocs.Each file will have to generate multiple Idocs based on few conditions which we handle in mapping.
In order to create multiple idocs,I have changed the occurance and I have imported the same into an external definition.I have created a Service Interface for this.
However,on running the scenario,I am getting errors when PI is trying to post the Idocs.It says that the port and partner settings are incorrect.
I have done the following steps:
1.Disabled the EDIDC40 field and in the Idoc AAE Receiver Advanced properties,I selected Not mandatory for the Control Record in Idoc xml.For this,I am getting the error :"The Configuration for Sender/Receiver Partner Number/Port is incorrect. Enter proper values in Sender/Receiver Component".I tried with and without header mappings as well.
2.I enabled the EDIDC40 segment,maintained the SNDPRT and SNDPRN values as per this discussion http://scn.sap.com/thread/3439059.
Maintained my ECC system details in the SNDPRT and SNDPRN values and maintained the name of the ECC system in the Sender in Header Mapping.I have checked Manatory in the Receiver Idoc channel for Control Record in Idoc xml and also the option "Apply sender from payload".
However,for this I get the following error : "java.lang.NullPointerException: while trying to invoke the method java.lang.String.length() of a null object loaded from local variable 'chars'".
For this error,there is a note which is given for the resolution : SAP Note 1862655.
However,in this note it is mentioned that the interface name and namespace naming convention should be <MSGTYP>.<IDOCTYP>.<CIMTYP>
and urn:sap-com:document:sap:idoc:messages.Mine is an external definition as I have changed the occurance and hence there is a Service interface and the namespace is also different.Is there any way to handle this in SAP PO?
Request you to share your thoughts on this as I have been stuck in this issue since quite long.
Thanks and Regards,
Induja
Hi Induja,
Just use the external defination idoc file while creating message mapping only (i.e occurance changed file)
and the remaining part keep same as general idoc to file interface.
i believe no need to create SI using external defination file. instead of that u can use the imported idoc as SI in operation mapping.
no need to create Data type,msg type, Service interface for ecc imported objects.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Subhani,
Thank you for your timely help.
This is what I did:
1.I did the Message Mapping using the external definition of the Idoc.
2.I created an Operation Mapping and used the Standard Idoc and Standard Idoc namespace as target.I gave the taget as "Any" in the Message mapping select option and selected my mapping.I ignored the warning while activation.
3.I used the standard Idoc and standard namespace in the receiver interface name in ICO.
4.Mapped Sender Port and Sender Partner in EDIDC40.Used header mapping in the receiver and took sender from payload.
Now I am able to post the Idoc successfully
Thanks and Regards,
Induja
User | Count |
---|---|
84 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.