on 05-31-2014 6:18 AM
Hello All,
In PI 7.31, I am trying to insert 1 receiver interfaces condition to check if the source field is not empty, then do not execute the interface
I have given the condition as ns0:Material_MT/row/flag # (not equal) and right operand is blank and checked multiline checkbox
In my case, the source structure is 0..unbounded where I use a select statement to fetch mutiple records (row)
So the structure is like this below
<MT_Material>
<row> 0..unbounded
<matid>
<flag>
</row>
</MT_Material>
The condition is not working so I am assuming its wrong. And also since the source structure is 0..unbounded, how do I specify the condition ?
is the multline will take care of 0..many?
thx
mike
Hi Mike,
from your problem description i understand that you want to filter the messages which do not have flag field. message can not filter in receiver determination level.
I would suggest to filter the message in message mapping (multimapping).
regards,
Harish
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I think I haven't made my question clear
I have 2 receiver interfaces in the ICO for one outbound interface and I am maintaining maintain order at runtime checkbox for these 2
For the second interface, I have to execute only if it satisfies the condition given below
ns0:Material_MT/row/flag and ns0:Material_MT/Material ID not equal to space, then call the 2nd interface
how do I write the condition??
if the source structure ns0:Material_MT is 0.unbounded, how do I mention that in the condition editor? is it multiline check box?
pls help
thx
mike
we don't have multiline check in condition...
i think harish got you.
you have to create multimapping. in the mapping you are going to use one sender message and two target message.
for first target message do one to one mapping. so it always execute the first interface.
for second interface when doing the the target node mapping check above condition and use create if function. whenever condition is satisfied it will execute the second interface.
look up this doc and see how condition is used to create the second target message.
Hi Mike ,
ns0:Material_MT/row/flag and ns0:Material_MT/Material ID not equal to space, then call the 2nd interface
Above condition means , when MaterialID exists and value is " "(<MaterialID> </MaterialID>), we have to call 2nd interface ? Right ?
If yes , AFAIK standard Receiver determination will not work , please use extended receiver determination.
Thanks
Hari.
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.