Skip to Content
0
Former Member
Jan 22, 2013 at 02:27 PM

context handling for idoc

82 Views

Dear all,

I have a graphical mapping issue in an IDoc to IDoc Scneario. I have a shipment IDoc where I need to map E1EDL37 segment to target E1EDL37 only IF (E1DL44-EXIDV = 9999).

E1EDL44 is a segment below E1EDL37 .

It works fine in the scenario when there is only one E1EDL44 segment under E1EDL37. The context for both E1EDL37 and E1EDL44-EXIDV is E1EDL20 .

I have a problem when there are two E1EDL44 Segments under E1EDL37 segment then I struggle with the context handling and regardless if the condition E1EDL44-EXIDV = 9999 is true.

EXIDV ( Context E1EDL20)

EQUALS -----------------------------IF

Constant[9999]

THEN E1EDL37 (Context E1EDL20) -------------------> Target (E1EDL37 )

The above mapping works for all other scenarios except for the below scenario where there are two E1EDL44 segments.

Source IDoc

E1EDL20

-E1EDL37

-- E1EDL44

- EXIDV = 9999 cond = true

-- E1EDL44

-EXIDV = 9999 cond = true

-E1EDL37

-- E1EDL44

-EXIDV NE 9999 cond = false

-- E1EDL44

-EXIDV NE 9999 cond = false

E1EDL20

-E1EDL37

- EXIDV = 9999 cond = true

-- E1EDL44

-EXIDV = 9999 cond = true

-E1EDL37

-- E1EDL44

-EXIDV NE 9999 cond = false

-- E1EDL44

-EXIDV NE 9999 cond = false

Target IDoc should look like below.

E1EDL20

-E1EDL37

-- E1EDL44

- EXIDV = 9999 cond = true

-- E1EDL44

-EXIDV = 9999 cond = true

E1EDL20

-E1EDL37

- EXIDV = 9999 cond = true

-- E1EDL44

-EXIDV = 9999 cond = true

Please advice.

Thanks,

Teresa