Skip to Content
0
Nov 10, 2011 at 02:18 PM

Mapping Issue: Target IDoc structure not getting created properly

38 Views

Hi Experts,

I am stuck with a strange problem in my mapping. It is a M:N scenario mapping where we have multiple IDocs in source as well as in target.

For example, in source Queue-1 I am getting values as [SUPPRESS, true, true, true, true] and in the in source Queue-2 I am getting the values as [1,2,3,4,5]. I used MapWithDefault function to match the number of values in both the queues but in the target IDoc the node (say TMPN) is created only 4 times because of the condition put at the target node. So, the target node should have values as [1,2,3,4] but it gets values as [2,3,4,5] because the first target TMPN node is not created in the first target IDoc. I can provide you with the skeleton of the map. Hope this will give you a fair idea. Let me know if you require more details.

1. Target Structure:

IDoc - No TMPN Node

IDoc - 1 TMPN Node

IDoc - 2 TMPN nodes

IDoc - 1 TMPN node

Condition put on target TMPN_Node ---> (created only 4 times due to condition)

2. Mapping Skeleton:

Values coming from Q1 (SUPPRESS, true, true, true, true) --->

\===>FORMATBYEXAMPLE+SPLITBYVALUE==> TMPN-F0 [2]

/ TMPN-F0 [3]

Values coming from Q2 (1,2,3,4,5) -


> TMPN-F0 [4]

TMPN-F0 [5]

Where F0 is the field which is created when TMPN Node is created. So, if TMPN gets created 6 times, the F0 gets created 6 times.

Please let me know if there is an alternative to this problem. How can I have values as [1,2,3,4] in field F0 instead of [2,3,4,5]