cancel
Showing results for 
Search instead for 
Did you mean: 

RFC connection problem

Former Member
0 Kudos

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?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

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

Former Member
0 Kudos

Thanks for your answer.

My Customer is using it in this way. I am searching for a solution for this problem. There are some extra needs for the customer because of them they cannot change it. They want to sent each regions message via different RFC connections

Former Member
0 Kudos

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.

Former Member
0 Kudos

Hi,

I can't do that because the sender system and the sender interface are the same. I can only create 1 receiver determination with 1 sender comm. channel for each interface. So I can use only 1 Program ID.

Should this be a probem? I think there should be a solution to this right?

Former Member
0 Kudos

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.

Former Member
0 Kudos

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?

Former Member
0 Kudos

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.

Former Member
0 Kudos

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?

Former Member
0 Kudos

In the RFC sender channel configuration, there are parameters - 'Initial connections' and 'Max Connections'.

Can you try increasing the values for these?

Former Member
0 Kudos

These are set to:

Initial: 8

Maximum: 40

I still have trouble with the scenario. (Somewhere I read that the SAP system has to be restarted to activate these settings. I am not sure if that is true. But I didn't restarted the server.)

Former Member
0 Kudos

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 -

http://host:port/mdt/Systatus

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

Former Member
0 Kudos

In Additional Data the thread number is 5. How can I increase this value?

Former Member
0 Kudos

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.

Former Member
0 Kudos

Thanks. I will try it tomorrow morning and Will let you know.

Former Member
0 Kudos

Also make sure you have proper values assigned for these properties as you have mentioned sync scenario-

Call.maxConsumers (synchronous sending - outbound)

Rqst.maxConsumers (synchronous receipt - inbound)

Answers (0)