IBM Support

PI22476: DATA TRANSFORMATION INCORRECTLY PARSING ADF WHEN A RECORD IS REUSED WITHIN A NESTED LOOP. EDI OUTPUT IS MISSING SEGMENTS.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Environment: WDI MP V3.3.0 on Windows with SFP9
    
    ADF to EDI data transformation incorrectly parses ADF input
    when a record is reused in a nested loop and the record is the
    first record of 2 different loops.  The ADF uses the same
    NAD record definition under both the NAD_LOOP (under base)
    and nested NAD_LOOP_CUS (under EQD_LOOP).
    
    The output EDI is correct when the input contains a repeating
    parent NAD_LOOP with no children, e.g. ...NAD, NAD, NAD, NAD...
    
    However, the EDI output is incorrect when the NAD_LOOP contains
    child records, e.g.
    NAD, LOC, CTA, CTA, CTA, CTA, COM, COM, DOC, DTM, TCC, PRI...
    NAD, NAD, NAD
    In this case, the last 3 NAD loop iterations (2nd through 4th)
    are missing from the EDI output.
    
    An additional symptom resolved by this APAR is that the
    following error is thrown when parsing ADF input that does
    not match the hierarchy as defined in the Data Format.
    
    Message: UP0021 Severity: 08
    Unable to identify the input data record.  Record number was n.
    Data Image <record data from input>.
    **** File: //'EDI.TE52INT.CPP(EDIUPADF)' Line: 1472 Func:
    RawDataParse(Ctxt *)
    
    Prior to this fix, the ADF parser would lose position within
    hierarchy and EDI output would be dropped or missing. With
    this fix, the UP0021 error is correctly issued thereby
    identifying the record number (n) at which a child loop is
    found without its associated parent.
    

Local fix

  • If possible, and as in the problematic scenario noted, reorder
    the input as follows:
    NAD, NAD, NAD
    NAD, LOC, CTA, CTA, CTA, CTA, COM, COM, DOC, DTM, TCC, PRI...
    

Problem summary

  • DATA TRANSFORMATION INCORRECTLY PARSING ADF WHEN A RECORD IS
    REUSED WITHIN A NESTED LOOP. EDI OUTPUT IS MISSING SEGMENTS.
    

Problem conclusion

  • Issue affects all environments.  Problem caused
    with reuse of records in 2 different loops.  The ADF
    parser is moving out of the current domain and matches
    the second NAD with the EQD domain.  The parser code
    will be modified to check the domain when matching the
    record and move out through the domain stack to continue
    searching for a match on the record.
    

Temporary fix

  •  iFix provided to client on 7/9/14.
    

Comments

APAR Information

  • APAR number

    PI22476

  • Reported component name

    WEBS DI ZOS

  • Reported component ID

    5655I4003

  • Reported release

    330

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2014-07-22

  • Closed date

    2014-07-22

  • Last modified date

    2014-09-03

  • APAR is sysrouted FROM one or more of the following:

    IT02796

  • APAR is sysrouted TO one or more of the following:

    UI19854

Modules/Macros

  • CPP      EDIUPACM
    

Fix information

  • Fixed component name

    WEBS DI ZOS

  • Fixed component ID

    5655I4003

Applicable component levels

  • R330 PSY UI19854

       14/08/22 P F408

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SUPPORT","label":"IBM Worldwide Support"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"3.3","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"3.3","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
22 August 2022