cancel
Showing results for 
Search instead for 
Did you mean: 

IDoc from SAP ERP -> PI -> as IDoc to Third-Party system

nivin_varkey
Active Participant
0 Kudos

Dear friends,

    We have an already successfully running scenario of sending IDocs from an SAP ERP system to a third party WMS system. The connectivity between the two system is through an RFC connection, Type T (TCP/IP) with registered server program. The third party system is SAP-certified, which means that it is able to understand the IDocs sent from SAP ERP system and process them. When an IDoc is sent from SAP using the above connectivity the third-party system accepts and posted the IDoc into respective business document in that system.

  Now a requirement has come up to route these IDocs via PI system (PI 7.1). While searching through the forum, I cam across a blog which gave an idea of how to go about it. I have tried the steps but the communication terminates in an error. I have done the following steps:

1. Create Product and software component version (SCW).

2. Create technical system MD1 with logical name LOGICA300 for CLIENT 300 for the SAP ERP system and assign the product and SCW to it.

3. Create business system BS_MD1300_D.

4. Create technical system LFSTST2010 as third-party system and assign the product and SCW to it.

5. Create business system LFSTST2010 with logical name LFSTST2010.


6. Perform IDX1 for BS_MD1300_D

       Port: SAPMD1

       Client: 300

       RFC Destination: MD1CLNT300 (RFC Connection type ABAP, working successfully)

7. Perform IDX2 for SAPMD1: all the required message types are imported.

8. Perform IDX1 for LFSTST2010

       Port: LFSTST2010

       Client: 100 (Randomly given)

       RFC Destination: LFSTST2010 (RFC Connection type TCP/IP with registered Server Program, working successfully)

9. No object (Message mapping or Operation mapping) created in Enterprise Service Repository as the same IDoc is sent from SAPMD1 to LFSTST2010.


10. Receiver determination, Interface determination and receiver agreement are created, which are straight-forward.

11. Receiver communication channel of type IDoc is created with the following parameters:

         RFC Destination: LFSTST2010

         Segment Version: 640

         Interface Version: SAP release 4.0 or Higher

         Port: LFSTST2010

         SAP Release: 640


After the execution we get the following error:

   Error: Transaction IDX1: Port LFSTST2010, client , RFC destination contain errors



   Hope to get guidance in getting the required settings right.

Thanks

Nivin

Accepted Solutions (1)

Accepted Solutions (1)

nivin_varkey
Active Participant
0 Kudos

Dear Friends,

Through various trial and errors I was able to solve this issue. The solution was simple - copy the IDoc metadata for the port LFSTST2010 from the SAP system done in the step 7 of the scenario explanantion. 🙂

Thank you all,

Nivin

Answers (9)

Answers (9)

Former Member
0 Kudos

Hi Nivin,

I have a similar scenario and I get an error in SM58 IDOC_ERROR_METADA_UNAVAILABLE.

I copied the Metadata to the Receiver system port.

But I still get the error.

IDOC_ERROR_METADA_UNAVAILABLE

Appreciate your inputs on the same.

Thanks,

Jishi

nivin_varkey
Active Participant
0 Kudos

Hello Jishi,

  In addition to having the IDoc metadata in IDX2, it should also be imported to the respective SCW in the enterprise service repository. Please check if you have done this. Also, after you have done this,  Please ensure that the cache content is up to date in transaction SXI_CACHE.

Thanks,

Nivin Joseph Varkey

Former Member
0 Kudos

Hi Nivin,

Thanks for the quick response.

The Idoc is imported in the respective SCW and I refreshed the cache.

But the error still persists.

What is value that I need to give in SAPRelease  for the Idoc receiver adapter. I am confused as the target is a non sap system.

Regards,

Jishi

nivin_varkey
Active Participant
0 Kudos

Hello Jishi,

What is the type of RFC connection you are using to the third party system?

Is the third party system SAP certifird, I mean does it understand SAP IDoc structures??

Thanks,

Nivin

Former Member
0 Kudos

Hello Nivin,

The 3rd party system is a HR system called Kaba. It is SAP certified and the IDoc when sent directly from the SAP ECC system(without PI) is getting posted in their system.

Regards,

Jishi

Former Member
0 Kudos

Hi Nivin,

Do I need to make any changes to control record of the IDoc received in PI before I send it to the 3rd party system?

Thanks,

Jishi

nivin_varkey
Active Participant
0 Kudos

Hi Jishi,

   What is the type of RFC connection that is being used while you are directly connectyion the ECC system with Kaba, and while using PI between PI and Kaba??

Thanks,

Nivin

nivin_varkey
Active Participant
0 Kudos

Hi Jishi,

lets this be the scenario

X-> PI ->Y.

then for communication from X -> PI the control should be like.

SNDPRN - Logical system name of X

RCVPRN  - Logical system name of PI

and for communication from PI -> Y the control should be like.

SNDPRN - Logical system name of PI (You can also override it in the Mapping to X)

RCVPRN  - Logical system name of Y (this should be same as IDX1) (This is the most required value)

Thanks,

Nivin

Former Member
0 Kudos


Hi Nivin,

I have created a mapping and I am assigning the control record from the payload. What values do I need to provide in the SNDPOR and RCVPOR?

Thanks,

Jishi

former_member181962
Active Contributor
0 Kudos

Hi Joshua,

     Have you ever found a soluition for this issue?

We are facing the same issue.

Best Regards,

Ravikanth Talagana

nivin_varkey
Active Participant
0 Kudos

Dear Friends,

Its been 2 weeks now..any help??

rhviana
Active Contributor
0 Kudos

Hi Vinin, it´s possible to provide a small resumo, than I can try to help.

You still getting error ? The same error that you show at imagem ?

Kind regards,

Harish
Active Contributor
0 Kudos

Hi Nivin,

Please refer the recent blog for your issue.

regards,

Harish

nivin_varkey
Active Participant
0 Kudos

Hello Ricardo,

   The scenario is already explained in detail. Please let me know the additional details you require.

Thanks,

Nivin

nivin_varkey
Active Participant
0 Kudos

Hopefully somebody is out there..who knows what to do, 🙂

Former Member
0 Kudos

I believe your port name should be the same name as your logical system LFSTST2010.
Also check what kind of adapters you are using, I previously face an RFC error for using an IDOC AAE adapter which is using JAVA, the RFC Connection have to be defined in NWA.

nivin_varkey
Active Participant
0 Kudos

dear Samuel,

   I have used the same name LFSTST2010 as the port name. Also, could you please elaborate on the statement - 'the RFC Connection have to be defined in NWA' .]

Thanks,

Nivin

Former Member
0 Kudos

Hi Nivin,

I am not that much expert to give you answer but i'll try my level.

Why don't you use the port which is created to receive idoc Metadata from ECC in the receiver communication channel and use RFC destination of TCP/IP in the communication channel.

Did you try this. I don't know this one is correct or not. If it is wrong forgive me.

Regards,

Suhale.

nivin_varkey
Active Participant
0 Kudos

dear Suhale,

It is not working. Thank you for the reply. There is nothing to forgive. Thanks again.

nivin_varkey
Active Participant
0 Kudos

Hello all,

  Still looking for the solution.

Thanks,

Harish
Active Contributor
0 Kudos

Hi Nivin,

you are using IDOC communication channel to post the idoc to third party system. You need to define the business system of third party system as ABAP or need to use other adapter to post the IDOC.

How yo are sending the IDOC before (without PI)?

Regards,

Harish

nivin_varkey
Active Participant
0 Kudos

Hello Harish,

Thank you for your reply. I have been following this blog on the same topic: http://scn.sap.com/community/pi-and-soa-middleware/blog/2011/09/19/exchanging-idocs-with-non-sap-sys... and from the looks of it the business system created in of type third-party. Can you please confirm if the business system needs to be of type ABAP.

Thanks,

Nivin

former_member184720
Active Contributor
0 Kudos

Hi Nivin,

I think the problem is with the control record.

As there is no mapping, the control record which is coming out of ECC may have incorrect details.

The SNDPOR value in your control records should be "LFSTST2010".

nivin_varkey
Active Participant
0 Kudos

Hello Hareesh,

 

Thank you for your reply. I though the RCVPOR should be "LFSTST2010" as it is the receiver business system. can you please tell me what should be the values of the following control fields in this scenario:

SNDPOR

SNDPRN

RCVPOR

RCVPRN

Thanks,

Nivin

former_member184720
Active Contributor
0 Kudos

Hi Nivin - Ideally it should be SAP<SID> of integration server. But i was referring to the blog which you also followed

http://scn.sap.com/community/pi-and-soa-middleware/blog/2011/09/19/exchanging-idocs-with-non-sap-sys...

There i found

Create the Port in PI in the transaction IDX1. The port name should be same as Logical system name of the business system defined in SLD (i.e. LS_LIMS).  See troubleshooting section for the reason for having.  We will use this Port name in the SNDPOR control record field of IDOC

nivin_varkey
Active Participant
0 Kudos

Hello Hareesh,

     The troubling shooting part of the blog describes error and solution for the scenario of IDoc from Third party system to SAP, I guess.

     The bigger issue still remains unsolved. I wonder, if anybody has followed the blog the got a successful communication. Can you please try it and let me know the result.

Thanks,

Nivin

Former Member
0 Kudos

Hi Nivin,

Check this link

SAP Library - ALE Programming Guide

It'll help you.

Regards,

Suhale S.