cancel
Showing results for 
Search instead for 
Did you mean: 

Interface Determination doubt

Former Member
0 Kudos

Hi guys,

I have a file with the following example source:

80

80

56

25

32

80

56

… The target is an R/3 and the interface is IDoc. All lines with value “80” should map to RPLMAS02 and the others values to ARTMAS 05. So, is two different mappings based on content field for the same target service “R/3”.

I already have two different mappings for each IDoc type, and I’m using the function “createIf” to exclude the lines that I don’t want to add in each IDoc. But, I can’t do it using XPath conditions in the Interface Determination, because both mappings are always performed…

Which is the best way to achieve this issue?

Thanks in advance,

Ricardo.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hey

>> because both mappings are always performed…

could you please explain what you mean the above statement.

under what case both the mappings will always be done? i guess only 1 mapping will be executed at a time based upon the source field

Thanx

Aamir

Former Member
0 Kudos

Hi folks,

Thanks a lot for your prompt answers.

Aamir: Take my source code as an example, I have several lines with different key field values. Based on these key field values I want to route both contents to different mappings. The lines with 80 value to RPLMAS mapping and the rest (different from 80) to ARTMAS mapping. But, from my understanding, at Interface Determination level, one message is considered and the XPath conditions only checks where 80 value exists or not. As I've a message with both values 80 and !=80), both mappings are performed and the last one is generated empty with error.

Saravana: I didn't understood where this "workaround" solve my issue above?

Resuming: I want to route lines for two different mappings and not an entire message. I mean, I want to put lines 80 in one mapping and the rest in another every thing at the same execution time.

Thanks in advance,

Ricardo.

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi all,

The issue is solved!!! Is not possible to run 2 mapping programs in parallel in one interface determination, we only can select a single Interface mapping.

I fixed with BPM, take a look at my solution:

Thank you all

Cheers,

Ricardo.

Former Member
0 Kudos

Ricardo,

How about this!! copy your file DT and create another DT, add two new fields in this copied DT, one field for RPLMAS & other for ARTMAS. You will have to create an additional Message Mapping in repository, map from original DT to copied DT. In this mapping, , you could map a "Y" or "N" to these status fields based on whether you want this mapping executed.

Now, create another mapping from copied DT to the two of your IDOCs. Or you can edit the existing mappings, load the copied DT as the source instead of your original DT.

Now, call these 2 MM in sequence in your Interface Mapping. Now, in your , Interface determination, use these status fields to conditionally route data to the mapping program. Hope it helps.

Regards

Saravana