cancel
Showing results for 
Search instead for 
Did you mean: 

Message Mapping Doubt

Former Member
0 Kudos

Hello everyone I have a requirement and I don't know if it's possible to doit, I have a source message as follows:

- <Cabecera id_consecutivo="1">

<Transaction>HF39</Transaction>

<Header2>0811062938688501</Header2>

<Header3>1803013721PMXR2008</Header3>

<Header4>FP</Header4>

<Header5>300</Header5>

<Header6>99999</Header6>

<Header7>06/11/2008</Header7>

<Header8>3896810</Header8>

<Header9>0000112191</Header9>

<Header10>N</Header10>

<Header11>A</Header11>

<Header12>1</Header12>

<Header13>94777.34</Header13>

- <Detalle>

<Transaction>DF39</Transaction>

<Detail2>0900766014PMXR2008</Detail2>

<Detail3>RF</Detail3>

<Detail4>300</Detail4>

<Detail5>62100</Detail5>

<Detail6>05/11/2008</Detail6>

<Detail7>1595288</Detail7>

<Detail8>5284.15</Detail8>

<Detail9>06/11/2008</Detail9>

<Detail10>N</Detail10>

<Detail11>C</Detail11>

<Detail12>62000.00</Detail12>

</Detalle>

</Cabecera>

- <Cabecera id_consecutivo="2">

<Transaction>HF39</Transaction>

<Header2>0811062938707701</Header2>

<Header3>1803013738PMXR2008</Header3>

<Header4>FP</Header4>

<Header5>300</Header5>

<Header6>99999</Header6>

<Header7>06/11/2008</Header7>

<Header8>3896827</Header8>

<Header9>0001400159</Header9>

<Header10>N</Header10>

<Header11>A</Header11>

<Header12>1</Header12>

<Header13>131617.21</Header13>

- <Detalle>

<Transaction>DF39</Transaction>

<Detail2>0900754058PMXR2008</Detail2>

<Detail3>RF</Detail3>

<Detail4>300</Detail4>

<Detail5>62100</Detail5>

<Detail6>03/11/2008</Detail6>

<Detail7>1586823</Detail7>

<Detail8>75646.90</Detail8>

<Detail9>06/11/2008</Detail9>

<Detail10>N</Detail10>

<Detail11>C</Detail11>

<Detail12>394845.04</Detail12>

</Detalle>

</Cabecera>

(my target message is the same message type), as you can see "Detalle" is a nested structure of the "Cabecera" structure, this is working fine, but now my problem is as follows, I need to evaluate every "Cabecera" structure, and if some conditions apply in the "Header" values to generate a new "Cabecera" structure, and if some conditions apply in the "Detail" values to generate another "Cabecera" structure, so I can get up to 2 new "Cabecera" structures from each "Cabecera" initial structure, now I tried it by duplicating(Right clicking node) the target "Cabecera" structure twice in the message mapping and define the conditions and it worked fine it generated the new "Cabecera" structures as follows:

- <Cabecera id_consecutivo="1">

<Transaction>HF39</Transaction>

<Header2>0811062938688501</Header2>

<Header3>1803013721PMXR2008</Header3>

<Header4>FP</Header4>

<Header5>300</Header5>

<Header6>99999</Header6>

<Header7>06/11/2008</Header7>

<Header8>3896810</Header8>

<Header9>0000112191</Header9>

<Header10>N</Header10>

<Header11>A</Header11>

<Header12>1</Header12>

<Header13>94777.34</Header13>

- <Detalle>

<Transaction>DF39</Transaction>

<Detail2>0900766014PMXR2008</Detail2>

<Detail3>RF</Detail3>

<Detail4>300</Detail4>

<Detail5>62100</Detail5>

<Detail6>05/11/2008</Detail6>

<Detail7>1595288</Detail7>

<Detail8>5284.15</Detail8>

<Detail9>06/11/2008</Detail9>

<Detail10>N</Detail10>

<Detail11>C</Detail11>

<Detail12>62000.00</Detail12>

</Detalle>

</Cabecera>

- <Cabecera id_consecutivo="2">

<Transaction>HF39</Transaction>

<Header2>0811062938707701</Header2>

<Header3>1803013738PMXR2008</Header3>

<Header4>FP</Header4>

<Header5>300</Header5>

<Header6>99999</Header6>

<Header7>06/11/2008</Header7>

<Header8>3896827</Header8>

<Header9>0001400159</Header9>

<Header10>N</Header10>

<Header11>A</Header11>

<Header12>1</Header12>

<Header13>131617.21</Header13>

- <Detalle>

<Transaction>DF39</Transaction>

<Detail2>0900754058PMXR2008</Detail2>

<Detail3>RF</Detail3>

<Detail4>300</Detail4>

<Detail5>62100</Detail5>

<Detail6>03/11/2008</Detail6>

<Detail7>1586823</Detail7>

<Detail8>75646.90</Detail8>

<Detail9>06/11/2008</Detail9>

<Detail10>N</Detail10>

<Detail11>C</Detail11>

<Detail12>394845.04</Detail12>

</Detalle>

</Cabecera>

********NEW INSERTED STRUCTURES

- <Cabecera id_consecutivo="3">

<Transaction>HF39D</Transaction>

<Header2>NEW 1</Header2>

</Cabecera>

- <Cabecera id_consecutivo="4">

<Transaction>HF39H</Transaction>

<Header2>NEW 2</Header2>

</Cabecera>

- <Cabecera id_consecutivo="5">

<Transaction>HF39D</Transaction>

<Header2>NEW 3</Header2>

</Cabecera>

- <Cabecera id_consecutivo="6">

<Transaction>HF39H</Transaction>

<Header2>NEW 4</Header2>

now the problem is that I need that this values:

- <Cabecera id_consecutivo="3">

<Transaction>HF39D</Transaction>

<Header2>NEW 1</Header2>

</Cabecera>

- <Cabecera id_consecutivo="4">

<Transaction>HF39H</Transaction>

<Header2>NEW 2</Header2>

</Cabecera>

be inserted right below it's corresponding initial "Cabecera" structure, in this case:

- <Cabecera id_consecutivo="1">

<Transaction>HF39</Transaction>

<Header2>0811062938688501</Header2>

<Header3>1803013721PMXR2008</Header3>

<Header4>FP</Header4>

<Header5>300</Header5>

<Header6>99999</Header6>

<Header7>06/11/2008</Header7>

<Header8>3896810</Header8>

<Header9>0000112191</Header9>

<Header10>N</Header10>

<Header11>A</Header11>

<Header12>1</Header12>

<Header13>94777.34</Header13>

- <Detalle>

<Transaction>DF39</Transaction>

<Detail2>0900766014PMXR2008</Detail2>

<Detail3>RF</Detail3>

<Detail4>300</Detail4>

<Detail5>62100</Detail5>

<Detail6>05/11/2008</Detail6>

<Detail7>1595288</Detail7>

<Detail8>5284.15</Detail8>

<Detail9>06/11/2008</Detail9>

<Detail10>N</Detail10>

<Detail11>C</Detail11>

<Detail12>62000.00</Detail12>

</Detalle>

</Cabecera>

now I can't sort the nodes cause each "Cabecera" structure executes an Interface that executes a BAPI in an R/3 backend and they need to be executed right in the order of the initial message cause they are dependent and secuential, but besides the initial order, they need to include in that order the new "Cabecera" generated structures, so the new "Cabecera" structures or transactions are going to be executed right after their corresponding initial "Cabecera" structure or transaction,can anyone tell me if there's a way I could do this, thanks in advance for your answers.

Regards,

Julio Cesar

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Thanks for the links.

Former Member
0 Kudos

Thanks for your answers, do you think you can point me tomsome blogs or documentation for java maping I've never donde this before.

Regards,

Julio Cesar

Former Member
0 Kudos
Former Member
0 Kudos

Hi Julio

This is doable. Use Java mapping if the structure is large.if not then graphical mappings can also do this i think

Thanks

Gaurav

VijayKonam
Active Contributor
0 Kudos

Use java mapping at next level to set the order of your sub strucutures in the intial target messages.

VJ