cancel
Showing results for 
Search instead for 
Did you mean: 

help with configured receiver condition

Former Member
0 Kudos

I have 2 target structures which I have to handle through configured receivers.

The condition i have to place is if LIFSK exists, route to Business service 1

if LIFSK doesnt exists, route to Business Service 2

I placed LIFSK EX -> service1

its working but what condition i need to place for second service because there is no condition exists in configured receivers for NOT EXISTS.

thanks and regards,

Nikhil.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

hi nikhil

Please give condition in Receiver determination using expression editor.

Apply check on the value in the particular field and route it towards B.

If the validation fails route the message to A.

you can utilize XPATH for conditional routing;

Receiver Det- Xpath:

/people/shabarish.vijayakumar/blog/2006/06/07/customise-your-xpath-expressions-in-receiver-determination

/people/shabarish.vijayakumar/blog/2005/08/03/xpath-to-show-the-path-multiple-receivers

XPATH in Interfce Det:

/people/suraj.sr/blog/2006/01/05/multiple-inbound-interfaces-within-a-service

have a look at the following to see how to do conditional receiver det.without BPM

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/336365d3-0401-0010-9884-a651295a...

it uses a diff. scenario but u can have a look at the conditional recv. detm. part

if you are on SP19, then you can avoid BPM for your this scenario.........

But if you dont have SP19, then you will need BPM for your this scenario because in msg mapping, you will have one source msg and two target msgs - one target msg for system B and other target msg for system A if your header data is not correct........so based on your header data, either of the two msgs will be created....so you require BPM for this thing........you will have 3 data types - source msg, error msg and target msg..........then in BPM in send steps you will send your error msg to system A and target msg to system B......

This can be acomplished with simple message mappings and enhanced receiver determination. Or if he wants to avoid enhanced receiver determination he can have an extra field in payload (or a custom dynamic configuration, with the help of this weblog: /people/michal.krawczyk2/blog/2006/10/09/xi-dynamic-configuration-in-adapter-modules--one-step-further) for receiver determination conditional routing.

/people/shabarish.vijayakumar/blog/2005/08/03/xpath-to-show-the-path-multiple-receivers

regards

sandeep

if helpful kindly reward points

Former Member
0 Kudos

I condition : LIFSK--> EX --> service1 ( which i have placed )

What is the second condition I have to place in xpath expression

I dont see a condition for NOT Exists for writing X path expression

I have tried with [(!LIFSK)]>EX> service 2

[(!exists((LIFSK))]>EX> service 2

and possible options

nothing worked out

plz help me

has anyone foudn the same type of problem earlier?

nikhil.

Former Member
0 Kudos

hi nikhil,

try the following conditions..

if u have 2 business service but one message structure . if one node exits then u want to send file to one business service and if that node not exits then u want to send the file 2 another structure then the following code will help u ..

/p1:Emp_Details/Details [not(Dep)]---exits

/p1:Emp_Details/Details [(Dep != '')]---exits

Dep node exits then it will go to one service..if not exits then it will go to another service...

Regards,

Prakasu.M

Former Member
0 Kudos

I was giving the following inputs for testing:

namespace :

urn:sap-com:document:sap:idoc:messages

prefix:

ns1

examples i have tried:

ns1:ORDERS05/IDOC/E1EDK01[(lifsk)!] EX

ns1:ORDERS05/IDOC/E1EDK01[!(lifsk)] EX

ns1:ORDERS05/IDOC/E1EDK01[exists!(lifsk)] EX

like wise, I have been trying similar cases.

nothing worked out

correct me where am I making mistake?

Q2 : I was referring to the following sap help link:

http://help.sap.com/saphelp_nw04/helpdata/en/67/49767669963545a071a190b77a9a23/frameset.htm

towards bottom of the page, againsts EX, its written following way :

Exists

You use this operator to check the existence of the expression (in the left operand). This enables you to find out whether a substructure represented by the expression exists.

You can use this operator if you want to check whether a particular element exists in the payload, for example. To do so, enter the element you want to check in the left-hand operand and leave the right-hand operand empty. You can also use the = operand for this check.

wat does this mean?

how do u check for the existance of a field with = operator?

please help

nikhil.

Former Member
0 Kudos

Hi Nikhil,

Use "Continue Message Processing with Following Receiver" option to mention your second business service (if LIFNK not exists) in Receiver Determination.

Thanks,

Sekhar D

Former Member
0 Kudos

You can use this option also...

/people/venkataramanan.parameswaran/blog/2006/03/17/illustration-of-enhanced-receiver-determination--sp16

Former Member
0 Kudos

I have 6 services on the target side and I have to route 3 based on the existance of LIFSK and 3 based on non existance of it

same time i have to check for Document category value

so its not possible with continute to message if the receiver is not found option

Former Member
0 Kudos

Then check the above blog......it will helpful to you..

Answers (1)

Answers (1)

Former Member
0 Kudos

HI Nikal,

you can do this senario in two ways ............

1) You can sepecify the condition with "IF" clause., when u r determing the Recevier determination

OR

2) You can do it with BPM, following links can help you in doing it with BPM

Message: BPM in XI

https://www.sdn.sap.com/irj/sdn/wiki?path=/display/xi/integrationProcess%28ccBPM%29inXI&

BPM-1

/people/krishna.moorthyp/blog/2005/06/09/walkthrough-with-bpm

BPM-2

/people/krishna.moorthyp/blog/2006/04/08/reconciliation-of-messages-in-bpm

BPM-3

/people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit

BPM-4

/people/michal.krawczyk2/blog/2005/06/11/xi-how-to-retrieve-messageid-from-a-bpm

Schedule BPM

/people/siva.maranani/blog/2005/05/22/schedule-your-bpm

Use of Synch - Asynch bridge in ccBPM

/people/sriram.vasudevan3/blog/2005/01/11/demonstrating-use-of-synchronous-asynchronous-bridge-to-integrate-synchronous-and-asynchronous-systems-using-ccbpm-in-sap-xi

Use of Synch - Asynch bridge in ccBPM

https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1403 [original link is broken] [original link is broken] [original link is broken]

without BPM

/people/henrique.pinto/blog/2007/08/02/syncasync-scenarios-without-bpm

without BPM1

/people/venkataramanan.parameswaran/blog/2007/01/18/syncasync-communication-in-jms-adapter-without-bpm-sp19

multimapping without BPM

/people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible

Thanks

Sai

PS: kindly reward points if helpful