Skip to Content

During testing phase of a project, there might be a scenario where SAP PI,PO or AEX 7.31/7.30 needs to be connected to SAP ECC’s multiple clients (say client 100 for Test Cycle-1, Client 200 for Test Cycle-2, etc. which might happen in parallel to each other) for sending and receiving IDocs.

SAP PI, PO or AEX Java IDOC receiver adapter can be configured using “RFC Client Parameters” as Manual, for which each SAP ECC’s Business System will have IDOC receiver communication channel which will be pointed to their respective SAP ECC clients as shown below.

IDocReceiverAdapter.png

But for Java IDOC sender adapter it’s a different configuration for connecting to multiple clients of SAP ECC.

The only “RFC Server Parameters” available in IDOC sender adapter are

  • Default (Recommended)
  • Manual
  • From NWA

When you configure as Default, which is by default one can connect to just one client of SAP ECC. For this you will be configuring in NWA the default inboundRA resource adapter by setting appropriate parameters and also creating the RFC destination (XI_IDOC_DEFAULT_DESTINATION) in NWA pointing the just one SAP ECC client.

When you configure as Manual, for which you can provide the appropriate parameters and create communication channel for each respective SAP ECC Business System for connecting each SAP ECC client. There might be a problem when you use this, as some security parameters which do not allow registering RFC server programs from remote host or a non-local host. The error is shown below.

JCOError.png

Last parameter left is “From NWA”. So, before setting this parameter we need to create/clone resource adapter for each client which we want to connect. For this you need to login to NWA –> Configuration –> Infrastructure –> Application Resources, Create a New Resource Adapter.

CreateRA.png

Use Default Template “SAPJRATemplate”

In Application enter the name for the Resource Adapter. Here I am following a naming as “inboundRA_<SID of SAP ECC>_<SAP ECC Client>” ex. inboundRA_SID_100, and then click Next.

RA1.png

In JNDI Name enter the same name of Resource Adapter given in the above step and give some description for the Resource Adapter, and then click Next.

RA2.png

Click on “JCA Connection Factory Details

RA3.png

Enter the JNDI a name. Here I am following a naming as “inboundRA_CF_<SID of SAP ECC>_<SAP ECC Client>” ex. inboundRA_CF_SID_100, and then click “Configuration Properties”.

RA4.png

Enter a Destination Name. Here I am following a naming as “XI_IDOC_DEFAULT_DEST_<SID of SAP ECC>_<SAP ECC Client>” ex. XI_IDOC_DEFAULT_DEST_SID_100, and then click “Save”.

RA5.png

Once Saved, the following Resource Names should be visible in Application Resources of NWA.

RA6.png

You need to add few properties to the Cloned Resource Adapter, so click on the Resource Adapter [Cloning] of inboundRA_<SID>_<Client XXX>. You can add property in the Properties tab by clicking “Add New Property”, after adding the properties save the Resource Adapter.

Add the following properties

Name

Type

Value

ProgramID

String

Naming what I follow XI_IDOC_DEFAULT_<SID>_<Client XXX>

Ex. XI_IDOC_DEFAULT_SID_100

MaxReaderThreadCount

Integer

5

GatewayServer

String

SAP PI PO AEX host name

GatewayService

String

sapgwXX (where XX is the gateway service)

XX is SAP PI/PO/AEX’s System number + 1

Ex. SAP PI/PO/AEX’s System number is 00 then gateway service is sapgw01

DestinationName

String

XI_IDOC_DEFAULT_DEST_<SID of SAP ECC>_<SAP ECC Client> Ex. XI_IDOC_DEFAULT_DEST_SID_100

local

Boolean

true

bindingKey

String

PI_AAE_IDOC

RA7.png

Now we need to create RFC destination from SAP PI to SAP ECC, NWA –> Configuration –> Security –> Destinations

Create a new Destination of Type RFC

Destination Name – The DestinationName given in the Resource Adapter Property above XI_IDOC_DEFAULT_DEST_<SID of SAP ECC>_<SAP ECC Client>

Dest1.png

Enter all the details of the Destination. Once all the parameters are entered, test the connection by clicking “Ping Destination”, make sure the ping is successful.

Dest2.png

Now start the resource adapter.

NWA –> Configuration –> Infrastructure –> Application Resources

Filter the Resource Name of the Resource Adapter, select it and click on More Actions and click Start Applications you want to start

RA8.png

Click on Start

RA9.png

If successfully started, you should be able to see all the Resource Names of the Resource Adapter in Application Resources are green.

RA10.png

Now enter the Resource Adapter Name in the IDOC Sender Communication Channel.

CC.png

In the SAP ECC system create a new RFC destination (SM59) of type T with a Registered Server Program for the each SAP ECC client.

Program ID – XI_IDOC_DEFAULT_<SID>_<Client XXX> (same name entered in the Resource Adapter property “ProgramID”)

Gateway Host – SAP PI/PO/AEX host (same name entered in the Resource Adapter property “GatewayServer”)

Gateway Service – SAP PI/PI/AEX gateway (same name entered in the Resource Adapter property “GatewayService”)

Save and Test the RFC destination.

Use this RFC destination when creating the IDOC port for sending IDocs (WE21) and use the port created in Partner Profile (WE20) in the respective test clients of SAP ECC.

References –

http://scn.sap.com/people/william.li/blog/2011/05/04/configuring-pi-730-java-idoc-adapter

http://scn.sap.com/community/pi-and-soa-middleware/blog/2010/10/21/pixi-pi-73-new-java-based-idoc-adapters-configuration-sender-receiver–teaser

http://help.sap.com/saphelp_nw73ehp1/helpdata/en/29/ca36fa7f5544f6aa5808f1d3414184/content.htm

http://help.sap.com/saphelp_nw73ehp1/helpdata/en/4a/5d28bcf2cb351ce10000000a42189b/frameset.htm

http://scn.sap.com/docs/DOC-34155

To report this post you need to login first.

16 Comments

You must be Logged on to comment or reply to a post.

  1. Jens Schwendemann

    Thanks for the blog, however, do you have any experience how multiRepository property of inboundRA would play a role in connecting multiple SAP backends?

    We currently are having the issue that multiRepository gets erased once in a while and we’ll have to manually fill it again.

    (0) 
      1. Jens Schwendemann

        Hi Christoph,

        unfortunatelly no. We still have this issue periodically but I’m not quite sure its on every restart. If I may be curious, what is your setting on “local” property of inboundRA?

        Cheers

        Jens

        (0) 
  2. Sreenivasa Veldanda

    Hi Sai,

    Please confirm below things…

    If I want to connect 2 clients i.e. 100 and 200 so for this

    I need to create 2 inboundRA’s and 2 Connection factories and 2 rfc destinations right i.e. for each client one one thing…..

    Is My understanding is right.. Please confirm….

    (0) 
    1. Jens Schwendemann

      Sreenivas,

      as per my understanding you have two options:

      1. Create multiple inboundRAs etc (covered in this blog)
      2. Use one inboundRA and fill in parameter “multiRepository” accordingly (e.g. here http://scn.sap.com/docs/DOC-43471)

      Using multiRepository would be easier to set up and maintain. However, currently there seems to be a bug that empties multiRepository parameter when your “clients” 100 or 200 are down while PI is being restarted.

      In addition you may also consider performance on high load scenarios where you may have more flexibility when using multiple inboundRAs (e.g. adjust MaxReaderThreadCount to your needs)

      Thanks and kind regards

      Jens

      (0) 
  3. kiran reddy

    Hi Sai Krishna,

    We have similar kind off requirement. Need to receiver IDocs from cross clients to PI 7.30 system.

    I have followed step by step approach as per your blog…..but unfortunately when iam trying to start the Resource Adapter it is not starting at all 🙁

    Please could you suggest here ?

    (0) 

Leave a Reply