Skip to Content

Context Problem in Mapping

Hi All

this is my IDOC Structure (I have only posted the required structure)

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

<ZCO_CCM>

<IDOC BEGIN="1">

<EDI_DC40 SEGMENT="1">

</EDI_DC40>

<Z1PARNT SEGMENT="1">

<LVROM>Z</LVROM>

<Z1CSKS SEGMENT="1">

Not coming<b><HIGHERDEP> </HIGHERDEP></b> <STDHIERARCHY>0001-1</STDHIERARCHY>

</Z1CSKS>

</Z1PARNT>

<Z1PARNT SEGMENT="1">

<LVROM>Z</LVROM>

<Z1CSKS SEGMENT="1">

<b><HIGHERDEP>0450</HIGHERDEP></b>

<STDHIERARCHY>0001-1</STDHIERARCHY>

</Z1CSKS>

</Z1PARNT>

</IDOC>

</ZCO_CCM>

I am genereating the flat file, the tagret field should be creted only when the value in the field <HIGHERDEP>0450</HIGHERDEP> is present.

I am checking IF> HIGHERDEP->EXIST(Function)---->THEN->MAP Z1PARNT to tagert Root node ( With Node and ALSO TRIED with UDF which supress the node) the context of the field HIGHERDEP is Z1PART (one structure above)

while testing this mapping,

2 Times Z1PARNT Repeated ( 1st novalue, 2nd with value,in field HIGHERDEP)

on target i should 1 rows (with value in field) which i am not getting any row,

if i change the context of field HIGHERDEP to IDOC, on target side it is creating the row for the the Node Z1PART in which field HIGHERDEP is not coming.

any clue on this?

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

1 Answer

  • Sep 19, 2007 at 06:20 AM

    any inputs?

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Nisar Khan

      Hi,

      In mapping that you have performed, check the queue at target root node. It could be possible that all values for this node are appearing in one context in queue. If that is the case then it would accept only first one. For example, as in this case you mentioned, the first value is suppressed because of invalid input value of HIGHERDEP, this could cause entire target node to suppress if all values under this, though they are valid, are appearing in same context.

      If this is the cause, then use node functions RemoveContext and SplitByValue (for each value) in mapping of root node at target.

      So your mapping would look somewhat like this..

      HIGHERDEP -> Other Tags for conditional Checking -> RemoveContext -> SplitByValue (For Each) -> Root Node of target.

      Provide additional details if my understanding has not been correct.

      Bhavish