on 01-21-2010 11:28 PM
Hi,
I have to ruote the message to multiple receivers based on source filed value.
1) If FIELD-A = 1 or 2 or 3, we have to send it to RECEIVER-1
root/FIELD-A = 1 or root/FIELD-A = 2 or root/FIELD-A = 3 = RECEIVER-1
2) If FILED-A # 1 or 2 or 3 (anything other than 1,2 and 3), we have to send it to RECEIVER-2
3) No matter what the FIELD-A value (1,2,3,4, anything), we have to send it to RECEIVER-3
I have configured it in condition receiver determination:
Conditions 1 and 3 are workign fine, but how do I make condition-2 work?
I have tried to give root/FIELD-A # 1 or root/FIELD-A # 2 or root/FIELD-A # 3 = RECEIVER-2, It didn't work, even if the value is 2, message is being send to RECEIVER-2.
How define 2nd condition in condition editor?
Thanks in advance,
Riya Patil
riya,
you might have to do a little customization of your xpath statement.
/people/shabarish.vijayakumar/blog/2006/06/07/customise-your-xpath-expressions-in-receiver-determination - use the condition and enforce the EX operator. Remember the brackets are important. follow as mentioned in the blog
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Abhishek/Shabarish,
I have tried to customize the condition using X-path as below: /p1:BOL[Revision != "1" or Revision != "2" or Revision != "3"] (In XPath Expression in Expression Editor). Where BOL is the root node and Revision is the filed value that we are checking and would like to send an e-mail if the value is not 1 or 2 or 3.
But the above XPath expression is not wotking. I have sent a file with Revision = 4, it didn't send to e-mail receiver.
One thing I have noticed, in the expression editor, when we select XPath, I dont see the structure of the message type as shown in the blog. We are on PI7.0 and SP12, is this reason? Or Am I giving wrong XPath express?
Thanks in advacne,
Riya Patil
Hi,
Customizing the condition using X-path as /p1:BOLRevision != \'1\' or Revision != \'2\' or Revision != \'3\ does work.
It doesn't send an email when ever Revision is 1 or 2 or 3. But we would like to send to an email receiver when ever the value is other than 1 or 2 or 3. If the Revision value is 4 or 5 (anything other than 1,2 or 3), we would like to sens to an email receiver.
With the above expression, it doesn't send to an email receiver if the Revision=4. Any help would appreciate.
Thanks,
Riya
One thing I have noticed, in the expression editor, when we select XPath, I dont see the structure of the message type as
shown in the blog. We are on PI7.0 and SP12, is this reason?
Have you included the Sender Message Interface properly under your Sender Business Service/ System? If already done, then recreate the Receiver Determination.
If possible attach a screenshot of the Condition Editor on some commonly accessible site. I dont think enhanced RD is needed.
Regards,
Abhishek.
Hi Riya,
Please give following condition and check.
(/BOL[(Revision != '1'and Revision != '2' and Revision != '3')]) EX
Also if you are not able to see Message type in XPATH, please check if that software component is present in corresponding technical system of source busniess system in SLD.
Once you see messagetype in XPATH, just select corresponding Revision Field in XPATH Editor and give above condition. Operator should be exists.
Let me know if you face any issue.
-Gouri
Hi Riya,
Try this.
(Field != '1'and Field != '2' and Field != '3') EXIST
-Gouri
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
In Condition Editor of Receiver Determination, I dont see "!=?" opearation
!= is not an operator present in the Dropdown......it is a combination of two keys from your keyboard (the exclamatory sign ! and = sign) ..... the expression suggested is as per the examples described in this blog:
/people/shabarish.vijayakumar/blog/2006/06/07/customise-your-xpath-expressions-in-receiver-determination
Regards,
Abhishek.
2) If FILED-A # 1 or 2 or 3 (anything other than 1,2 and 3), we have to send it to RECEIVER-2
I mean you want to say that the value is not 1/2/3. Try below condition format:
root[(FIELD != "1" or FIELD != "2" or FIELD != "3")]
Middle operand will be EX.
Regards,
Abhishek.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Any help would be appreciated.
- Riya Patil
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
7 | |
7 | |
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.