cancel
Showing results for 
Search instead for 
Did you mean: 

Problem in different mapping according to XPATH in Inteface determination

Shabarish_Nair
Active Contributor
0 Kudos

Hi Gurus of XI,

I have an input and according to a flag in it I need to execute 2 mappings (if flag is 1 -> mapping A else mapping B) and hence post an IDOC [mapping A / B uses the same IDOC].

I have a single sender and a single receiver, hence during my interface determination i am trying to specify the condition in the XPATH condition editor and hence assigning the specific mapping.

But an error pops up saying "occurs more than once as inbound interface".

Is there any work around for the same ?

I am trying to avoid a BPM here.

Regards,

ShabZ

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Shabz,

You cannot have more than One idoc, but you can handle this in the mapping.

if you use XSLT mapping, make a complete copy of the Node and apply the condtion (for flag A or B).

this way you can go ahead without any routing or interface selection in Int Dir.

Regards

Vishnu

Answers (2)

Answers (2)

moorthy
Active Contributor
0 Kudos

Create one Mapping, where based on condition you can generate either of one output structure. In the Mapping if flag = 1 output, Sturcture A

else output structure B.

In this case we can avoid BPM, as well as conditions in the XPATH.

Regards,

Moorthy

Shabarish_Nair
Active Contributor
0 Kudos

Hi All,

Thanx for your valuable suggestions, finally we decided to have one mapping which selects the output according to the flag.

Regards,

ShabZ

PS: I have seen to it that you are rewarded.

Former Member
0 Kudos

Hi,

I have done a similar scenario. In that i used two services. you could try doing this. Have two services and two channels(one per each). In the coditional receiver determination,give the first service and its channel for the satisfying condition and the second service and corresponding channel for else condition. Then perform the interface determinations for them. You can try something on similar lines.