cancel
Showing results for 
Search instead for 
Did you mean: 

configuring receiver for some conditions

Former Member
0 Kudos

Hi All,

I have a question about configuring multiple receivers in receiver determination. Under configured receivers tab, I put 10 receivers as services, and conditions across each receivers.

The condition is putting based on Xpath expression taking the outbound message interface from repository. Till now, everything is fine. Now a new requirement has come which says that for a condition ie, in the outbound message interface, a field col has value 10 which when comes should not be processed.

How should I put a condition for this in the receiver determination saying that If col=10, then do nothing.

If I am not putting condition, then in the SXMB_MONI, I get an error message showing failure when col10 comes. And since a batch job is linked which runs again in SAP when fails for this process, it becomes an infinite loop which should not happen.

I have a solution for this which is not an ideal one.

Put a dummy receiver for the condition col=10 which would work.. But its not a good one.

Please suggest a solution for this..

Thanks in advance,

Deno

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hello deno,

use a BPM to hold the unwanted msg, this way you can have a logical end to the transactions.

BPM (as a receiver) should be called, when u get the condition, where nothing should be executed.

Hope this fixes ur issue

Regards

Vishnu

Former Member
0 Kudos

HI Deno,

its easy if you using a bpm. you just put a swich step after the first Recv step.

NOw for this swich step you can create a Branch condition , using the interface variable radiobutton, choosing xpath for condition col of the outbound mssg.

and put your send step in a bracnch of the switch where conditin col = 10.

thats it.

And if you r not using bpm,

than go to the Integration directory.NOw open the entry in reciever determination step. I think here for each reciever you have put one condition..to determine the reciever.Now put a cursor one the condition, and click on the + icon (new line) on the toolbar, you will get one mre condition-line for the same reciever.

And you will see that 'AND' keyword coming in the last column of previous line.

Now here you put cond' col NE 10.

so its like ..if( (our old codtion) AND (condition col NE 10).

do this for all the reciever. SO a reciever will be detrmined only if the condition is met.

Please reward points if it helps you.

Former Member
0 Kudos

Hi Anid,

Thanks for the answer. I guess it will not work really.

Bcoz, when col=10 field comes, it will not satisfy any condition and throw out the same error "receiver not found" which would be making the batch job in SAP run again in infinite loop. The main purpose is to avoid the batch job not run again when col=10 comes in. I wouldnt need to throw error message when col=10 comes in.

Thanks in advance again.

Thanks,

Deno

Former Member
0 Kudos

Then you can try in BPM way..i think thats the best practise.

Former Member
0 Kudos

Hi All,

Can anybody throw some light on this other than using BPM. And this needs to be dealt in Integration Directory and not in repository. So I am not sure whether BPM works out.

Thanks,

Deno

Former Member
0 Kudos

Hi,

Its strange that some message has come and you dont want to process it on some condition. Either tell source not to send message on particular condition i.e handle this situation in source , or use a dummy case as you were doing.

Or Use BPM in switch condition if value = 10 throw exception of cancel process through Control step.

Hope it helps.

Regards,

Satish