cancel
Showing results for 
Search instead for 
Did you mean: 

SAP best practices: Reuse communication channel

Former Member
0 Kudos

Hi expert,

in some of my projects I reuse CC for multiple scenarios, in other projects I'd create a separate CC for each scenario even though I can reuse an existing CC. I haven't really thought about this issue, but now I need to ask myself and you guys what is SAP best practice whether or not to reuse CC in PI?

Let's say PI communicate with ECC via abap proxy (XI adapter), there are 20 scenarios with XI adapter, I can either create only one CC, and reuse it in the 20 scenarios, or create 20 CC, one CC for each scenario. Technically both works, but what is SAP's recommendation on this? I can't find any document on this from SAP.

What is behind the scene for CC? does it mean a connection would be created each time it is used? in that case, reuse would be better for performance, because we can reuse the connection (if it still exists), and save time creating one.

What is the pros and cons of reuse and not reuse CC?

Any expert can comment on this?

Thanks

Jayson

Accepted Solutions (1)

Accepted Solutions (1)

RaghuVamseedhar
Active Contributor
0 Kudos

Jayson,

If precise control is needed, create individual channels (If there are individual channels for each interface, some message flow can be stopped without impacting other interfaces).

Else, reuse channels (reuse is efficient and easy to maintain).

Answers (4)

Answers (4)

Former Member
0 Kudos

Thank all for the import.

I guess, if it's true that the number of CC does not impact the performance, I'd rather have one CC for each scenario. Here I mean the generic adapter like proxy, IDOC, RFC. There is not much maintenance to do, transport would take care of the parameter adjusting without manual action when transporting to QA and PRD.

The major advantage is as Raghu mentioned. Imagine in proxy CC, if there is runtime exception occurred in one interface in the abap system side, the CC / queue would be stopped, and that will affect all interface re-using the CC, image if you have 30 proxy scenarios reusing same proxy CC, this might cause major issue in the production.

Eng, do you SAP official document / help saying that the number of CC does not impact performance or affect the system in a bad way?

Thanks

engswee
Active Contributor
0 Kudos

Jayson,

For the proxy CC you mentioned, an error on the ABAP system would not cause the CC to be stopped and blocked other proxy scenarios. From PI's perspective, once the message is delivered to the ABAP system, it is considered completed irrespective of what happens on the ABAP side.

This is a long read, but it's one of the best document around to understand performance in PI. In particular, section 6 for the Adapter Engine would extensively explain how it works.

Rgds

Eng Swee

iaki_vila
Active Contributor
0 Kudos

Hi Raghu,

Raghu and Eng give to you good points to be taken into account. You won't find any SAP recommendation about this theme because there is not a general way to act.

I want to add from my own experience the importance of the business process, sometimes is needed to have specific users on the scenario (when there is data modification), sometimes is not need to have specific users (data selection) and this can be a point to be consider in the moment to create a new channel or not. If it is possible i try on the receiver side to reduce the number of the channels (easy maintenance), however on the sender side with adapters like the file i'd rather using several channels (check Raghu suggestion about start/stop channels).

Summing up you have to consider all the points suggested by Raghu and Eng and don't forget the specific business requirements.

Regards.

engswee
Active Contributor
0 Kudos

Just to share, in general I would reuse channels for the adapter types that are generic in nature, i.e. the configuration details are not specific to any particular interface. Typically, these would be IDoc, RFC and Proxy channels.

Apart from the precise control that is mentioned above, note that having more channels of the same adapter type does not mean that there is more processing allocated for it, as all channels of the same adapter type share usage of the threads allocated to the particular adapter (which is by default 5 for each queue type of an adapter).

Former Member
0 Kudos

anyone can comment?