cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping Issue.

Former Member
0 Kudos

Hi Experts,

I am dng IDOC to FIle Scenario.

Sender Structure

E1EDP01 0....999999 ( Node1)

->E1EDP19 0...5 ( Node2)

->->Z1EKKNX 0...5 ( Node3)

->->-> VBELN 0..1 ( Feild1)

Receiver Structure

N_E1EDP01 0....Unbounded ( Node1)

->Z2EKKNX000 0...unbounded ( Node2)

->-> VBELN 0..1 ( Feild1)

Mapping

I mapped Node1(Send)----Node1(Recv)

Node3(Send)----Node2( Recv)

Feild1(send)---Feild1( Recv)

My problem is I need to map Node2 & Node3 ( Send ) to Node 2 recv.

How can i do it.

because when ever node 2 repeats it reads only one time.

When i map Node2 with Node2 then if node 3 repeats more then that fields are missing.

I need to map both nodes of Sender to one node of recevier.

Regards,

XISUPER

Edited by: XI super on Oct 3, 2008 1:54 PM

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

If Target Node2 has to repeat Source Node2 * Node3 number of times since we have to capture all the field values for each of node2 and corresponding occurences of Node 3 for each Node2;

Use Contexts in UDF and take the inputs from Node2 Node 3 and field value; UDF shall return the value to be returned i.e FieldValue from Source; You can use the same UDF to Map it Node 2 in target structure.

While using Context check when the next occurance of Node 2 on target side is expected.

From the look at the structure it must be Max Number of times Node 2 on target can occur would be 25times for each of Node1 in source.

Revert back in case this doesnt work.

Regards

Nik

former_member200962
Active Contributor
0 Kudos

Hi,

Please procede as follows:

Node2> exists.....OR..... Node3> exists -


> createif --> Node3(rec).

If above logic does not work please revert back.

Regards,

Abhishek.

Edited by: abhishek salvi on Oct 3, 2008 7:59 PM

markangelo_dihiansan
Active Contributor
0 Kudos

Hi,

You do not need to map E1EDP19 to Z2EKKNX000 since the node does not contain any value. What you can do, however is to do this mapping for Z2EKKNX000:

Z1EKKNX --> RemoveContext --> Z2EKKNX000

Explanation: suppose you mapped E1EDP19 to Z2EKKNX000, when the following structure occurs

E1EDP19----


E1EDP19

Z1EKKNX----


Z1EKKNX

-


Z1EKKNX

The resulting context would be SUPPRESS,[ ] [ ], ContextChange, this means that only two Z2EKKNX000 would be created.

When you directly map Z1EKKNX with Z2EKKNX000 without using context change, only one Z2EKKNX000 would be created because the resulting context will be SUPPRESS, [ ], ContextChange, [ ] [ ], ContextChange.

When you use RemoveContext, the resulting context will be SUPPRESS, [ ] [ ] [ ], ContextChange.

all values of Z1EKKNX should now be produced..

Hope this helps

Regards,

Former Member
0 Kudos

hi,

please give the cleare requirment.

wat i am thinking u requird to map node2and node3(sender) to the node2(receiver).

and u required to create only one receiver node corresponding to the occurrence of the node 2 or node3 in sender.

for this u can try the following mapping.

node2(sender)->removecontext>collapes context-node2(rec)

and same can be done to map node3(sed)to node2(rec).

here u r defining the occurence of node2(rec) based on the node2 and node 3(sender).

regards,

navneet