Skip to Content
avatar image
Former Member

Filtering IDOC segments.

HI,

I am working on IDOC to file scenario.

Here i have a segment by name E1EDL24 which repeats multiple time. i need to populate only those segments which has fieled EAN_qty values in it.

How can i do this in PI?

Ex: IF E1EDL24 comes 7 times and has EAN_QTY values only in 5 segments.then i should populate only those 5 segments.if i dont filter it...PI wil take only first segment into consideration...How do i this in PI?

appreciate your help.

Regards

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

3 Answers

  • Mar 31, 2011 at 05:17 PM

    May be in Mapping.... use node functions.... CreateIf, exists.... Search SDN for these or mapping.

    Add comment
    10|10000 characters needed characters exceeded

  • Mar 31, 2011 at 06:33 PM

    Try this.

    EAN_QTY -


    Exists--->IfWithoutElse->CreateIF-->RemoveContext--


    >E1EDL24.

    Add comment
    10|10000 characters needed characters exceeded

    • Depending on your structure you may also want to drop the RemoveContext-function, so:

      EAN_QTY -> Exists -> CreateIf -> E1EDL24

      This way PI will "know" about the segments you filtered out (PI sets SUPPRESS for their context), and will also filter out their child fields so they don't sneak into the segments you want to keep.

      Br,

      Kenneth

  • avatar image
    Former Member
    Mar 31, 2011 at 07:04 PM

    Rightly said, you can achieve this using the "createif" and "exists" functions available under "node functions" in graphical mapping.

    You may try this.

    EAN_QTY -


    > Exists---> CreateIF--> RemoveContext--


    >Target Field

    Remember to handle the context for E1EDL24 segment to the root node of your Target field accordingly.

    I hope this helps.

    Regards, Gaurav.

    Add comment
    10|10000 characters needed characters exceeded