IBM Support

PI80051: During a move into a display numeric item with a floating insertion symbol, a compiler temp may overlay following storage

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When moving a value into a display numeric item with a floating
    insertion symbol, for example PIC -(3)9.9(2) where the "-" is
    floating, the pattern for an EDMK (EDIT AND MARK) instruction is
    copied to a compiler temporary item, but the pattern is a byte
    longer than that temporary.
    
    This overlays the subsequent item, typically another temporary
    or other compiler generated item. This may have no apparent
    effect, but in some cases may lead to abends, for example if the
    compiler generated item contains an address, like the return
    address of a PERFORMed paragraph or section.
    
    ABENDS0C4 ABEND0C4
    

Local fix

  • Use OPT(0)
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL V6.1 compiling     *
    *                 and running programs using compiler options  *
    *                 OPT(1|2) and the programs move data into a   *
    *                 NUMERIC-EDITED data item with a minus sign   *
    *                 or currency symbol.                          *
    *                                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: ABEND 0C4 at runtime: The MOVE          *
    *                      operation may use an additional byte    *
    *                      of data.                                *
    *                                                              *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    *                                                              *
    ****************************************************************
    When attempting to generate more efficient code for MOVEs to
    NUMERIC-EDITED data items with a minus sign or currency symbol,
    the compiler incorrectly determined that the receiver had a
    length one greater than its actual length, so when the MOVE was
    executed, one byte of additional data was incorrectly
    overwritten.
    

Problem conclusion

  • The compiler was fixed to use the correct length for MOVEs to
    NUMERIC-EDITED data.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI80051

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655EC600

  • Reported release

    610

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-04-17

  • Closed date

    2017-06-24

  • Last modified date

    2017-07-05

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

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

Modules/Macros

  •    IGYQCBE
    

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655EC600

Applicable component levels

  • R610 PSY UI48286

       UP17/06/30 P F706

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":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.1","Edition":"","Line of Business":{"code":"LOB70","label":"Z TPS"}}]

Document Information

Modified date:
05 September 2024