on 06-13-2012 1:18 PM
Hello Everyone,
I am working on the scenario in which i have to send data to different system depending upon the sending payload..
My condition editor is as follows :
If
/ShipmentData/SalesCompanyCode = A or /ShipmentData/SalesCompanyCode = B \
then , Receiver 1
else /ShipmentData/SalesCompanyCode = empty
then , Receiver 2.
But, the data is not getting branched and instead, the idoc gets created in both the receiver .
Pls find the screen shot.
Kindly help me out in solving this issue....
Regards,
Ravi
Hi,
If in case u have only one occ of company code and depending upon that u have to decide the receivers then chk below condition:
/p1:Mt/ShipmentData[SalesCompanyCode ='A' or SalesCompanyCode='B']---> Receiver 1
/p1:Mt/ShipmentData[string-length(SalesCompanyCode)=0] ---> Receiver2
Thanks
Amit Srivastava
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Baskar and Amit,
The testing in ID failed with " No receiver found " ..
The payload is as follows
<?xml version="1.0" encoding="utf-8"?>
<ShipmentData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Carrier>NPO1</Carrier>
<BolNumber>11731032315</BolNumber>
<CarrierReferenceNumber />
<SalesCompanyCode>00029606</SalesCompanyCode>
<SalesCompanyName>Panasonic Industries Europe</SalesCompanyName>
<Container>
<ContainerNumber>NEC99691513</ContainerNumber>
<ShipmentEvents>
<EventDetails>
<EventCode>30E</EventCode>
<Location>AMS</Location>
</EventDetails>
</ShipmentEvents>
</Container>
</ShipmentData>
Dear Ravi,
You have configured reciever determination is correct in operation specific mode.
why are you doing End to End test first do test in Test configuration tool in ID part.
Please share piece of your payload which u applied the condition.
And wht do u mean by empty value
The Tag must be present on the payload as
<SalesCompanyCode><SalesCompanyCode> for satisfying the second condition.
thanks and regards,
Anup Banerjee
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Ravi,
I believe the input message you were using has SalesCompanyCode=A, SalesCompanyCode=B and SalesCompanyCode = blank together; and as said by Greg, this message will be evaluated for 1st Receiver and 2nd Receiver separately. Now since both the conditions are satisfied, it would be sent to both receivers.
It would be better to use Extended Receiver Determination and determine the receiver via message mapping at runtime in your case.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Ravi,
The conditions you define are not exclusive (they are not evaluated on the if-else rule). Instead, every single receiver, for which the condition is met, receives the whole message. So in your case, it means that if your message contains a shipment that has SalesCompanyCode = A or B, and another shipment that has an empty SalesCompanyCode, the message gets split and sent to both receivers.
Regards,
Greg
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
81 | |
24 | |
11 | |
9 | |
7 | |
5 | |
5 | |
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.