cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping issue

Former Member
0 Kudos

Hey,

I want to do <a href="http://www.christian-riekenberg.de/upSkript/up/mapping.jpg">this mapping</a>.

For every MEDTD1 the mapping creates an IDOC node. Every subnode MEDTD2 should

be created under the node MEDTD1 until a new MEDTD1 appears in one of the recordset nodes.

Like you can see in the picture, my mapping creates the MEDTD2 node of the second recordset

node under the new IDOC. I try to use context change, splitbyvalue, removecontext and so on, but he will not create a second IDOC node under the first MEDTD1.

An idea how to do this? Is this possible with graphical mapping??

thanks

chris

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

HI ,

Can you just clarify about the target structure you want ..

IS it that you want IDoc to have only 1 occurence and all the MEDTD1,2and 3 and all in the single parent node i.e. IDoc cos you mapping will differ accordingly ???

Regards

Abhi

Former Member
0 Kudos

Hi,

I would like to have only one MEDTD1 in every IDOC and all MEDTD2 under the actual MEDTD1 until next MEDTD1 appears.

Source:

<?xml version="1.0" encoding="UTF-8"?>

<ns0:MT_IDOC_Input xmlns:ns0="http://test.com">

<recordset>

<MEDTD1>

<feld1>a1</feld1>

</MEDTD1>

<MEDTD2>

<field2>a22</field2>

</MEDTD2>

<MEDTD3>

<field3>a3</field3>

</MEDTD3>

<MEDTD3>

<field3>a33</field3>

</MEDTD3>

</recordset>

<recordset>

<MEDTD2>

<field2>b2</field2>

</MEDTD2>

<MEDTD3>

<field3>b3</field3>

</MEDTD3>

</recordset>

<recordset>

<MEDTD1>

<feld1>c1</feld1>

</MEDTD1>

<MEDTD2>

<field2>c2</field2>

</MEDTD2>

<MEDTD3>

<field3>c3</field3>

</MEDTD3>

</recordset>

</ns0:MT_IDOC_Input>

should create:

idoc

---MEDTD1 (a1)

-


MEDTD2 (a2)

-


MEDTD3 (a3)

-


MEDTD3 (a33)

-


MEDTD2 (b2)

-


MEDTD3 (b3)

idoc

---MEDTD1 (c1)

-


MEDTD2 (c2)

-


MEDTD3 (c3)

thanks

chris

Former Member
0 Kudos

Hi,

Have you directly mapped recordset with the IDOC ???

Abhi

Former Member
0 Kudos

No, the IDOC node in target structure is mapped with

MEDTD1 -> removeContext -> SplitByValue -> IDOC

Now, the node recordset isn't used in the mapping.

Former Member
0 Kudos

Hi Christian,

I have checked your mapping. You need to do some small changes in that and then it will work. )

Do you mapping like this:

1. The mapping of <b>MEDTD1 to IDOC</b> is correct. So do not do anything in this.

2. Now <b>again map</b> source MEDTD1 to MEDTD1 <b>of idoc</b>. Simple 1 to 1 mapping. e.g. MEDTD1 -


> MEDTD1

3. map source field1 to idoc MEDTD1 field1. E.g. <b>field1 -


> field1</b>.

4. MEDTD2 -


> MEDTD2

<b>Note:</b> mapping of field2 is wrong. It should be 1 to 1. as shown below.

5. filed2 -


> field2

6. MEDTD3 -


> MEDTD3

7. field3 -


> field3

<b>From step 2 to 7, mapping is simply 1 to 1.</b>

Do exactly as shown above and i hope you will get your ans.

Regards,

Sarvesh

Former Member
0 Kudos

Hi,

step 2 is not possible. In target structure MEDTD1 is 1...1 Condition, so there is

an error when I try to do an 1-to-1 mapping. Without MEDTD1 the mapping still

won't work correctly.

Do I have to change the context anywhere?

thanks

chris