cancel
Showing results for 
Search instead for 
Did you mean: 

RFC Receiver Channel connections

Former Member
0 Kudos

Hi Experts, more than a question this is a doubt about best practice for RFC connections.

Last year I developed three interfaces JDB-PI-RFC (async/sync) that are used for many legacy systems. I just create one RFC receiver channel that is used for these interfaces to access to ERP. There is a great quantity of messages flowing for these interfaces. Until the moment, I don't have problems with these interfaces. But, now I need to create four interfaces with the same architecture.

My doubt is if I still must using the RFC receiver channel that I created or I must to create another channel with another user to connecto to ERP. What is the best practice here?

To be more generic: It's more convenient to create one RFC receiver channel with a different user for each interface that we have? Or just to have one generic RFC receiver channel to connecto to ERP?

Best regards,

Joan Llaully

Accepted Solutions (1)

Accepted Solutions (1)

iaki_vila
Active Contributor
0 Kudos

Hi Joan,

I would like to show a problem that i had once, if you have a generic RFC user implies that in the ECC this user must have a wide collection of roles, once a fi document was posted in a company code that the sender shouldn't have rights. The best way was to create specific roles to specific communication users and several communication channels. I only wanted that you think about this problem, may be it cant appear in your scenario.

Regards.

Answers (5)

Answers (5)

Former Member
0 Kudos

Thanks all for your replies. It's clear that best practice is just to have a single rfc receiver communication channel to a specific instance of ERP.

But, still it's not clear for me what is the relation between Maximum Connections attribute in an rfc communication channel (I have set this in 150) and the number of threads applied for rfc adapter (I think default value is 5).

Regards,

Joan Llaully

Former Member
0 Kudos

Hi,

best practice is to have a single rfc adapter connection to a particlular system...

in case there are lot of rfc connections being used totally you can think of increasing the over all thread counts of the rfc adapter to await messages to wait for a rfc adapter to become available.

HTH

Rajesh

Former Member
0 Kudos

Thanks for your replies, to give you more detail about my interfaces. As I said the interfaces are used by many legacies. All legacies put his data (sales documents, accounting documents, etc) into an intermediary database, so SAP PI picks up one register(document) and send it to ERP through this RFC receiver channel (it's synchronous because I create document and wait for the response). I create one generic Business System in the sender side representing the intermediary database and one Business System  for the ERP instance.

I understand your explanation Jörg, I thought if I create one rfc receiver channel with user PI_1 and another rfc receiver channel with user PI_2, I could avoid stay with none connection (from the pool of connections) I suppose the field Maximum Connections in RFC receiver channel plays an important role here.

Regards,

Joan Llaully

ambrish_mishra
Active Contributor
0 Kudos

Hi Jaon,

Creating multiple RFC channels won't increase the connection pool. Connections will be shared.

So keeping one RFC channel and managing the parallel connections is the way to go...

Ambrish

iaki_vila
Active Contributor
0 Kudos

Hi Joan,

I agree with suggestion, but you should to take into account if the ECC endpoint needs to know how is connecting to the RFcs, for example if PI creates/updates some registers and you want to know how creates/updates that registers. I had this scenario a lot of times, and the best approach it is to use the party concept. However, your case is with a sender JDBC and there is not user acction then you could use a single communication channel.

Regards.

Former Member
0 Kudos

Hello Joan,

I would recommend you to keep using one channel and scale it accordingly (number of parallel connections). The reason is that you keep it simple this way. There is only one connection from PI to your ECC then, so only one place to change settings, only one source of error. Would you create more than one SM59 connection on ABAP side? I would also recommend you not to. The number of connections is limited by network traffic, maybe CPU and database, but not on the number of logical channels you define in PI.

This is my opinion and experience, others may have different experience.

Regards,

Jörg