IBM Support

PH21259: For an edited display numeric picture MOVE source, a conversion may modify memory after the conversion temporary

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When the source of a MOVE is an edited display decimal and the
    target is computational, a run-time routine is used to convert
    the source to a simple display numeric intermediate result,
    prior to the final conversion to the target.
    
    If DECIMAL-POINT IS COMMA is in effect, (eg. PIC
    Z.ZZZ.ZZZ.ZZZ.ZZ9,99) the run-time routine will erroneously
    perform an AND X'CF' on memory after the intermediate result.
    
    Depending on what's thus modified, there may be no noticeable
    outcome, or some indefinite failure. In the reported case, the
    file status was not correctly updated.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL V6 and later       *
    *                 releases compiling and running programs      *
    *                 that MOVE data from numeric-edited data      *
    *                 items to unsigned numeric USAGE DISPLAY      *
    *                 data items, where the source item PICTURE    *
    *                 string has simple insertion editing          *
    *                 symbols (for example, COMMAs).               *
    ****************************************************************
    * PROBLEM DESCRIPTION: When the compiler generates code to     *
    *                      MOVE a NUMERIC-EDITED data item to a    *
    *                      NUMERIC data item, the generated        *
    *                      instruction sequence uses a temporary   *
    *                      variable for the COBOL Runtime routine  *
    *                      to use as receiver. This compiler       *
    *                      generated temporary is located on the   *
    *                      stack, along with other temporaries.    *
    *                      When the NUMERIC-EDITED data item's     *
    *                      PICTURE string has simple insertion     *
    *                      editing symbols (e.g. B 0 / ,), the     *
    *                      COBOL runtime routine may calculate the *
    *                      byte location of the sign nibble        *
    *                      incorrectly. The bytes immediately      *
    *                      following the temporary on the stack    *
    *                      could be corrupted.                     *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    ****************************************************************
    The COBOL Runtime routine that performs MOVE processing
    incorrectly calculates the byte location of the byte that
    contains the sign nibble.
    
    COB0601T/K COB0602T/K COB0603T/K
    

Problem conclusion

  • The logic in the COBOL Runtime routine has been corrected.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH21259

  • Reported component name

    LE ENT COBOL LI

  • Reported component ID

    568819812

  • Reported release

    7C0

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-01-21

  • Closed date

    2020-01-21

  • Last modified date

    2020-02-04

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

    PH20254

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

    UI67485 UI67486

Modules/Macros

  • IGZCEV4  IGZLLIBV IGZXAPI  IGZXCDA  IGZXD24  IGZXDMR  IGZXLPIO
    IGZXLPKA IGZXLPKB IGZXLPKC IGZXLPKD IGZXLPKE IGZXLPKF IGZXLPKG
    IGZXPK2
    

Fix information

  • Fixed component name

    LE ENT COBOL LI

  • Fixed component ID

    568819812

Applicable component levels

  • R7B0 PSY UI67485

       UP20/01/24 P F001

  • R7C0 PSY UI67486

       UP20/01/24 P F001

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":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSCVR7X","label":"Runtime"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
16 May 2020