cancel
Showing results for 
Search instead for 
Did you mean: 

Condition based Interface determination

Former Member
0 Kudos

Hi ,

Environment : PI 7.1.

Scenario : File to Proxy.

In this scenario , We have a single file interface which reads a file and routes the data to two different inbound interfaces.

Steps followed to do this -

>>Defined two inbound interfaces interface1 & interface2.

>>Both interfaces are pointed to same ECC system.

>>Read the file using a single sender file communication channel.

>>Define receiver ECC in the receiver determination.

>> Define interface determination based on a value of a field in the file structure(source structure). Used XPATH to define this content based routing and selected operation mapping specific to the interface.

1 sender agreement

1 receiver determination ( not using enhaced receiver determination because we have only one receiver)

1 interface determination which has two receiving interfaces based on XPATH condition ( maintain order runtime is checked)

2 Receiver agreements.

2 Communication channels.

For example if you have 10 lines in a file , out of which if 5 lines has a value related to interface 1 & 5 lines has a value related to interface 2. It should push the data into two different proxies as configured.

We are facing a problem in this scenario -

There is no consistency in the logic. Some times it runs interface 1 & some time it executes interface 2.

based on condition 1 it routes the data to interface 1 successfully but the structure is not getting created for interface 2 so it is giving an error stating the interface 2 structure is not available.

In SXMB_MONI the branching steps show two subnodes but if you see the log it shows that in subnode 1 the sender is sender interface & the receiver is interface 1 based on the filter condition. If you see the log for subnode 2 then it shows the sender is sender & the receiver as interface 2 below that it shows another entry which shows the reciver interface is interface2.

Please evaluate and let us know if the approach we are following works or not. If there is any limitations please let us know how to achive this.

Regards,

Reddy

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

HI,

You need to use multimapping .

And use the ndie function create if to create the node based on condition..

regards,

Divya

Former Member
0 Kudos

Hi,

Your design is correct but here you missed one point. Here the message is send either to receiver1 or receiver2 depending on the condition but not both. As this does not result in multiple messages with the same payload because only one condition can ever be true at runtime. For more details see the below link

http://help.sap.com/saphelp_nw04/helpdata/en/46/8015de950e6be3e10000000a155369/frameset.htm

If you want to create multiple message then you need do 1:n mapping :

http://www.sdn.sap.com/irj/scn/weblogs;jsessionid=(J2EE3417700)ID2056393550DB10021342992851308291End...

Shweta.