on 10-03-2008 12:25 PM
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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,
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.