cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping Problem

Former Member
0 Kudos

Hi All,

Can any body please suggest how to achive this map:

Source

<LOOP>

<HL>

<HL03>Tier</HL03>

</HL>

<MAN>

<MAN01> 11111 </MAN01>

</MAN>

</LOOP>

<LOOP>

<HL>

<HL03>Pallet</HL03>

</HL>

<MAN>

<MAN01> 22222 </MAN01>

</MAN>

</LOOP>

<LOOP>

<HL>

<HL03>Item</HL03>

</HL>

<MAN>

<MAN01> 33333 </MAN01>

</MAN>

</LOOP>

Target:

<E1EDL37>

<EXIDV>11111</EXIDV>

<E1EDL47>

<EXIDV>22222</EXIDV>

</E1EDL47>

</E1EDL37>

<E1EDL37>

<EXIDV>22222</EXIDV>

<E1EDL47>

<EXIDV>33333</EXIDV>

</E1EDL47>

</E1EDL37>

Any Help will be really appriciated.

Thanks

-Kulwant

Accepted Solutions (0)

Answers (2)

Answers (2)

justin_santhanam
Active Contributor
0 Kudos

Kulwant,

Please let me know whether I understood your reqmt correctly.

if in the source you have

1111

2222

3333

4444

then in the target you must have the following o/p correct?

E1EDL37

1111

2222

E1EDL37

2222

3333

E1EDL37

3333

4444

Thanks,

raj.

former_member200962
Active Contributor
0 Kudos

Hi,

Try the following logic:

1) since E1EDL37 node is repeating(0..unbounded)....duplicate it in the message mapping (right-click...choose duplicate)...now you will have two E1EDL37 nodes.

2) For the first E1EDL37 node --> apply condition

if MAN01 = 11111 or if MAN01 = 22222

then map LOOP to E1EDL37

You will need 2 if-WithoutElse and one If (with else)

3) Have direct mapping for <EXIDV> and {E1EDL47-->EXIDV} (<E1EDL47> should be mapped to MAN01 = 22222...so that if no MAN01 = 22222 then <E1EDL47> will not occur)...can use a Source -- exists --createIf -->Target logic here

4) For the second E1EDL37 node --> apply condition

if MAN01 = 22222 or if MAN01 = 33333

then map LOOP to E1EDL37

You will need 2 if-WithoutElse and one If (with else)

5) Similar logic as given in step 3 (for <EXIDV> and {E1EDL47-->EXIDV})

Regards,

Abhishek.