cancel
Showing results for 
Search instead for 
Did you mean: 

RFC Communication Channel error in SM58

Former Member
0 Kudos

Hi

I have a scenario where we have RFC -> XI (BPM) -> SOAP. Currently, this links our SAP QAS system to a non-SAP internal system's QAS environment. However, we now have a new requirement whereby the non-SAP system will have a Training environment set up to run in parallel with its QAS. Any ideas on how I could do this?

I have set up a second Configuration Scenario more or less identical to the original only it points to the Training system. However, when the RFC is triggered I get an exception in SM58 saying 'Commit fault: com.sap.aii.af.rfc.afcommunication.RfcChannelMismatchExcept'.

Searching the forum I see that this is often because there are 2 or more CCs with the same ProgramID. This is not the case for me. I have created 2 distinct RFC Destinations (RFCQAS and RFCTRN) with equally distinct Program IDs (zrfcqas and zrfctrn). The 2 CCs I have set up use the corresponding Program IDs so although I have two RFC Communication Channels they use different ProgIDs. However, the same RFC is used but the Destination parameter is dynamically assigned by the calling ABAP.

Is my only option to create another FM that calls the training system? I hope not because then I'll have to re-create all the mapping objects!

Thanks

Andrew

Accepted Solutions (0)

Answers (1)

Answers (1)

VijayKonam
Active Contributor
0 Kudos

HI,

Since only your NON SAP system connectivity needs to be changed, Copy the configuration scenario in ID and create a new scenario. No update the receiver SOAP channels details as per the new end point..!!

VJ

Former Member
0 Kudos

Hi VJ

Thanks for your quick response. This is effectively what I have done. However, if I did a straight copy of the CS and only changed the URL of the SOAP CC then wouldn't I have the same problem in that there will be two RFC CCs with the same Program ID? Also, how will XI know whether the call should go to the QAS or Training System Configuration Scenario - surely it won't set off both CSs?

Thanks

Andrew

VijayKonam
Active Contributor
0 Kudos

Hi Andrews,

mmm.. you are right. One thing here we would need to consider is, all the data from RFC should go to both of the receivers all the times?

Also, I dont think there would be any problem if 2 RFC channels share the same Program ID, as though one might have multiple RFC scenarios, the SM59 connections is going to be only one between XI and R3 systems.

Actually, if it was different senders and the same receiver, copying the CS would have helped us. I think for your case, either a BPM fork or conditional receiver determination would be the solution. In case the RFC can be copied to another name another IR object set might solve the problem too..!!

VJ

Former Member
0 Kudos

Hi VJ

I already use a BPM for this case and don't really want to change it because this scenario only applie to our QAS system not PRD.

The RFC only exists to trigger the interface so currently no data is passed by it which means there is nothing for me to create a condition with in Receiver Determination. That's not strictly true because there has to be an import parameter so I have created a 1 char flag on the RFC in to which I do pass the value 'X'. However, this never seems to make it into XI. I've not been overly bothered by this because the RFC was serving its purpose but now it would be useful if it worked properly - any thoughts on that?

It looks like I will have to copy the RFC and create another IR - I just don't understand why one RFC cannot use two different RFC destinations and Program IDs to access two different RFC adapters!

Thanks

Andy

Former Member
0 Kudos

Resolved this by creating copies of the RFC in the QAS system. This uses the same RFC Destination, Program Id and CC as the original. I then had to create the additional IR and ID objects.