on 01-27-2016 2:55 AM
Hi Experts,
I have a data file with employee information, each data record has employee ID (defined as string). When I send the data to the target, I only need to send certain employees, I am putting these employees' ID under Condition of Receiver Determination as below. Supposedly I should only send these two employees information to the target, the data is sent successfully according the message, but seems the filter under Condition of Receiver Determination didn't work, all the employees information are listed in the XML data file after "XML Validation Outbound Channel Request" step. I am just wondering if I missed anything or it is not defined correctly?
Can you give me any hints?
Really appreciate your input.
Blue
Hi Blue
Condition in Receiver Determination only determines whether the message will be sent to a particular receiver if the condition is met, but it does no filtering on the payload.
If you want to additionally filter the payload, you need to perform the filtering in mapping (quite easily achieved in Message mapping using the CreateIf node).
RecordSet/Record/BID = "XXX" ===> CreateIf ===> RecordSet/Record
(change context of BID to a level higher)
Rgds
Eng Swee
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
Receiver determination works based on XPATH of first record, it is not possible to filter records based on a value for each record. Technically it checks the condition only against first record but not record by record for every record,
The condition met true on first record value, the entire XML payload posted to configured receiver, otherwise the XML discarded.
Thanks
VJ Poreddy
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Blue,
Agreed with Eng Swee.
Please make the settings in your mapping, as your output is based on your mapping and not on the condition of receiver determination.
Receiver determination condition - helps you to route it to a particular receiver based on your condition.
Interface determination condition - helps you to choose the correct interface based on you condition.
Thanks,
Nidhi
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Blue,
RD - As the name suggests checks the condition and route to the receiver.
Say, Condition1 is true then the message will be received by Receiver1
else, if Condition2 is true then the message will be received by Receiver2.
ID - Checks the condition and accordingly selects the mapping/interface.
Say, Condition1 is true then the Operational Mapping 1 will be executed.
else, if Condition2 is true then the Operational Mapping 2 will be executed.
Thanks,
Nidhi
User | Count |
---|---|
85 | |
10 | |
10 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.