IBM Support

PM19868: EGL Update-Replace problem

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Problem Description:
    
    In the migrated EGL code (from VAGEN), user has several programs
     that do a 'get for update' for a SQLRecord for all the columns
    in the record and then have several 'replace' statements that sp
    ecify certain columns to be updated.
    These replace statements do not have a result set ID specified.
    
    Each of the REPLACE statements have a unique of set of columns t
    o be updated.
    
    This worked fine in VAGen
    
    After generating in COBOL, the actual updates do not reflect the
     custom set of columns that should be updated for
    the particular replace.   Instead, they all use the same set of
    columns.
    At runtime, the result is the update (EGL replace) is successful
     (SQLCODE 0), but it is either updating the wrong
    columns or not updating the ones that should be.
    
    After investigation, it was found that this problem occurs when
    the EGL source code is organized the way the users has the files
    /packages
    organized. The EGL source is organized such that the functions a
    re individual files in a package that is separate from the packa
    ge containing
    the program (same project).
    
    Workarounds:
    - Add a result set id to each replace statement
    or
    - If all the source is merged into one large file (with function
    s at the top level), then the correct update statements are crea
    ted
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The problem was that for sql replace and delete statements
    that did not reference a result set id, the logic was using
    the egl line number to help determine what needed to be
    replaced/deleted. The user had multiple source files and by
    chance, happened to have 2 or more replace statements,
    without a result set id, on the exact same line number in
    each source file. This caused incorrect code to get
    generated.
    

Problem conclusion

  • Software updated. Fixtest available.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM19868

  • Reported component name

    RATL BUS DEV

  • Reported component ID

    5724S5000

  • Reported release

    751

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2010-08-04

  • Closed date

    2010-10-13

  • Last modified date

    2010-10-13

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

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

Fix information

  • Fixed component name

    RATL BUS DEV

  • Fixed component ID

    5724S5000

Applicable component levels

  • R751 PSN

       UP

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSMQ79","label":"Rational Business Developer"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.5.1","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
13 October 2010