on 04-14-2008 8:11 AM
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.
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
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
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.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
84 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.