on 10-19-2010 8:34 AM
Hi,
I have a scenario in where ECC sents around 6000 messages in a day to PI over RFC (synch). In ECC (sm59) there are 4 destinations created. Each one is for one region. On the PI side I have 1 RFC adapter. For now just one region is working. But when I open another region and messages start getting from the other RFC too then the connection between PI and ECC start to fail.
Technically:
ECC
-
SM59
1. TCP/IP -> Program ID - PI_CONN
2. TCP/IP -> Program ID - PI_CONN
3. TCP/IP -> Program ID - PI_CONN
4. TCP/IP -> Program ID - PI_CONN
PI
-
1 RFC Adapter
Program ID - PI_CONN
Is the problem because there is only one RFC adapter trying to handle 4 rfc destination?
There is no need to create 4 RFC destinations as it is a single connection from ECC to your PI system.
Create one RFC destination and create one RFC channel in PI. You can use it for your 4 different RFC calls. The interface will be determined from the RFC call name.
For all the 4 programs you can use the same RFC destination to send the data to PI system.
Also make sure you entered the correct Program ID in your channel.
Refer this blog for more help-
/people/michal.krawczyk2/blog/2005/03/29/configuring-the-sender-rfc-adapter--step-by-step
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Iam not sure about creation of multiple destinations to same application system.If you have already created them, try the following-
Use different program Id's in your RFC destinations and make sure you entered the correct program Id's in the respective RFC sender channels.
Also make sure you are calling the correct destination for that region in your RFC programs.
But when I open another region and messages start getting from the other RFC too then the connection between PI and ECC start to fail.
Can you eloborate this? What is the error you are getting in the channel?
I can only create 1 receiver determination with 1 sender comm. channel for each interface. So I can use only 1 Program ID.
Use one sender channel for all the 4 interfaces. When you use multiple RFC channels with same prog ID, it will prone to errors.
The single sender channel receives RFC calls for all the 4 regions.
Hi,
There is no specific error. RFC connection starts to slow down and data sent from ERP gets lost. Payload in PI seems empty.
I want to create 4 different RFC sender communication channel BUT the sender system and the interface are the same. I can create just one Sender Agreement for this case. But in ERP there are 4 RFC destinations. each one sends the same interface.
Is there any solution? Can I create more the 1 sender agreement for a single specifiv system and specific interface?
From your initial post I could see the prog ID is same in all destinations. Why do you require to create four channels?
Create a single RFC channel and create a scenario. In your receiver determination you can add receiver services based on regions.
The RFC channel receives the calls for four regions and in your receiver det you can differentiate( if you require) based on conditions(if any exist) for each region.
You don't mention the RFC destination name anywhere in the channel configuration.Only Prog ID is maintained. As long as your RFC program is sending data to destination that has the same prog ID that you maintain in the chanel, PI will receive the data without error.
If you create multiple sender RFC channels with same prog ID, it will prone to errors. Prog ID is the differentiator for XI.
Hi,
Again thanks for your reply.
Our customer is normally using 4 destination with the 4 different program ID's. The legacy middleware (not PI) has used it that way. Now our customer don't want to change the process. They want to sent each region through one destination to PI. 1st region with program id 1 to region 1. 2nd region with program id 2 to region 2.
But in PI this is not possible. I cannot create multiple sender agreements for each program id in ERP. So I told them to make all the program ID's the same for each region. And I created 1 RFC sender adapter. Thats when the problem started. For the 1st region we have no problem. But when we take the 2nd region live problems start. It seems as if the sender RFC adapter cannot handle all the synchonous calls. It don't do parallel processing. (?)
Do you have any solution for this without changing the process of the customer?
Re-start of system is not required.
You can try any of following-
1. Stop and start channel from CC monitoring.
2.Make some dummy changes in channel configurationa and save, activate the channel.
3.Re-start the sender RFC service from Visual Admin.
Also make sure you have sufficient threads available for RFC sender service.
You can check it here -
Go the 'Additional Data' tab and check the thread count for these services-
RFC_http://sap.com/xi/XI/SystemCall
RFC_http://sap.com/xi/XI/SystemRecv
RFC_http://sap.com/xi/XI/SystemRqst
RFC_http://sap.com/xi/XI/SystemSend
For example if you have only 5 threads assigned for RFC sender service and you have given the initial connections as 8 in your channel configuration, it won't serve the purpose.
Edited by: nagarjuna _s on Oct 19, 2010 3:39 PM
Ask your basis team to increase thread count as it need VA access.
Visual Administrator -> Services -> SAP XI AF Messaging
Look at the property 'Messaging connections'
Refer this note for complete info- Note 791655 - Documentation of the XI Messaging System Service Properties
You need a system re-restart after making these changes.
User | Count |
---|---|
80 | |
24 | |
12 | |
9 | |
7 | |
6 | |
5 | |
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.