cancel
Showing results for 
Search instead for 
Did you mean: 

How to select a communication channel based on a field in the message?

Former Member
0 Kudos

Hi All,

In my scenario - Sending system will send one country field in the message ,I have one receiver system which has different folders for different countries.

I have created separate communication channels for separate countries.

Now at runtime based on the country field in sender message I need use the channel respective to that country.

How should i achieve this?

Please help.

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi,

Say you have 3 countries - I would suggest:

1) Create 3 services - each for one country

2) Create 1 CC's under each of these services

3) In your Receiver Determination ->Configured Receivers -> Condition field --- put in the condition (by choosing the field from the input that has the country code)

4) Against each condition, choose the respective service for that country

5) Complete the Interface Determination - (by calling the same mapping in all three Interface Determination)

6) Complete the Receiver Agreement by choosing the appropriate CC created as in Step 2)

1) and 2) are basically for ease of use. If you need to identify the Service or CC - this would be user-friendly.

If you dont want to create 3 different services - you can still not do Step 1 and continue from Step 2.

Regards,

Balaji.M

Former Member
0 Kudos

If all messages are the same (i.e the message interface is the same) and the only difference is the folder name - try using variables in the folder name - where the variable is the country as pulled from your payload.

sincerely,

--NM

<a href="http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/frameset.htm">Link to SAP help</a>

ETA: just to clarify, in this case - you wont need 3 channels only 1 - configured as I suggested above.

Former Member
0 Kudos

Very good answer NM.

Or I think it could be done using extended type of receiver determination.

Thanks

Shubhankar

henrique_pinto
Active Contributor
0 Kudos

You cant decide dinamically among several CCs for a same receiver Service and the same interface. There isn't a "CC determination" step (receiver agreement is 1:1 with CC).

Either you creat different services for each folder (could be different BS in the same TS) or, what is more recommended, you set the folder dinamically.

For that, either you use:

1. Variable Substitution (if the the folders name scheme match or contain the input filed based on which you're taking the decision;

2. Dynamic Configuration for the directory, if the folders name scheme is a little more complicated. You coan do this at mapping, using a simple UDF on the input field based on which you take the decision.

Regards,

Henrique.

Former Member
0 Kudos

I dont think so it is possible...

You need to create separate Receiver Agreement for every comm.channel.

Nilesh

Former Member
0 Kudos

Hey

you have to use conditional interface determination in your case

Thanx

Aamir