on 11-20-2008 10:12 PM
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
Thanks for the links.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
HI Julio
Check the following example
You need to use a parser like DOM or SAX and to read the source and create target.
Thanks
Gaurav
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Use java mapping at next level to set the order of your sub strucutures in the intial target messages.
VJ
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
6 | |
6 | |
6 | |
5 | |
4 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.