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.
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.
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.
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.
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.
Click on “JCA Connection Factory Details”
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”.
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”.
Once Saved, the following Resource Names should be visible in Application Resources of NWA.
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 |
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>
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.
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
Click on Start
If successfully started, you should be able to see all the Resource Names of the Resource Adapter in Application Resources are green.
Now enter the Resource Adapter Name in the IDOC Sender Communication Channel.
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://help.sap.com/saphelp_nw73ehp1/helpdata/en/29/ca36fa7f5544f6aa5808f1d3414184/content.htm
http://help.sap.com/saphelp_nw73ehp1/helpdata/en/4a/5d28bcf2cb351ce10000000a42189b/frameset.htm