Skip to Content
avatar image
Former Member

Conditions in Receiver Determination

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

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

4 Answers

  • Best Answer
    Jan 27, 2016 at 03:02 AM

    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

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      Thank you Eng for your response.

      I put the filter in the MM, and tested it, it is working. This was what I suggested at the beginning, but my co-worker thinks it is better using Receiver Determination.

      I am not 100% sure if condition in RD will work or not, I will test it.

      Blue

  • Jan 27, 2016 at 06:23 AM

    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

    Add comment
    10|10000 characters needed characters exceeded

    • 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

  • avatar image
    Former Member
    Jan 27, 2016 at 09:32 AM

    Hi Blue

    Remove the double quotes from the value of the conditions.

    The value should be like below

    Thanks,

    Indrajit

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      Hi Indrajit,

      My BID is defined as String, so I think it is better to use double quote, but I tested and it is not working with or without Double quote

      Thanks

      Blue

  • avatar image
    Former Member
    Feb 02, 2016 at 10:34 PM

    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

    Add comment
    10|10000 characters needed characters exceeded