IBM Support

PH49828: THE ON SIZE ERROR CLAUSE MAY NOT BE EXECUTED.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The optimizer was incorrectly deciding that the addition of two
    18-digit BINARY data items could be done as a binary addition
    instead of a packed-decimal addition. This is incorrect as the
    result could be 19 digits, and some 19-digit values cannot be
    represented in a 64-bit binary data item. Because of this
    decision, the code that was generated would add the two 18-digit
     data items together and truncate after the ON SIZE ERROR check.
     Prior behaviour (that of COBOL 4, and without doing this
    optimization) would be to truncate the data items before they
    were added together.
    

Local fix

  • N/A
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL 6.3 compiling      *
    *                 programs at ARCH(11) or lower with           *
    *                 TRUNC(STD|OPT) that add two 18-digit BINARY  *
    *                 data items together with an ON SIZE ERROR    *
    *                 clause where the result is 19 digits.        *
    ****************************************************************
    * PROBLEM DESCRIPTION: The ON SIZE ERROR clause may not be     *
    *                      executed.                               *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF                       *
    ****************************************************************
    The optimizer was incorrectly deciding that the addition of two
    18-digit BINARY data items could be done as a binary addition
    instead of a packed-decimal addition. This is incorrect as the
    result could be 19 digits, and some 19-digit values cannot be
    represented in a 64-bit binary data item. Because of this
    decision, the code that was generated would add the two 18-digit
    data items together and truncate after the ON SIZE ERROR check.
    Prior behaviour (that of COBOL 4, and without doing this
    optimization) would be to truncate the data items before they
    were added together.
    

Problem conclusion

  • The compiler was fixed to avoid the above optimization,
    truncating the data items to 18 digits before they were added
    together, producing the same result as COBOL 4.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH49828

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655EC600

  • Reported release

    630

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2022-09-27

  • Closed date

    2022-09-27

  • Last modified date

    2022-10-03

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

    PH47833

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

Modules/Macros

  • IGY8RWTU IGYCASMB IGYCCBE  IGYCCCRT IGYCCICS IGYCCSRV IGYCDGEN
    IGYCDIAG IGYCDMAP IGYCEN$0 IGYCEN$1 IGYCEN$2 IGYCEN$3 IGYCEN$4
    IGYCEN$5 IGYCEN$8 IGYCEN$D IGYCEN$R IGYCFGEN IGYCFREE IGYCINIT
    IGYCJA$0 IGYCJA$1 IGYCJA$2 IGYCJA$3 IGYCJA$4 IGYCJA$5 IGYCJA$8
    IGYCJA$D IGYCJA$R IGYCLIBR IGYCLSTR IGYCLVL0 IGYCLVL1 IGYCLVL2
    IGYCLVL3 IGYCLVL8 IGYCMALL IGYCOPI  IGYCOPT  IGYCOSCN IGYCPGEN
    IGYCRCTL IGYCRDPR IGYCRDSC IGYCREAL IGYCRWT  IGYCSCAN IGYCSIMD
    IGYCUE$0 IGYCUE$1 IGYCUE$2 IGYCUE$3 IGYCUE$4 IGYCUE$5 IGYCUE$8
    IGYCUE$D IGYCUE$R IGYCXREF IGYDRV   IGYEQCWI IGYMSGE  IGYMSGK
    IGYMSGT  IGYQCBE  IGYQSPLT IGYZQEN6 IGYZQENU IGYZQJP6 IGYZQJPN
    

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655EC600

Applicable component levels

  • R630 PSY UI82565

       UP22/10/01 P F209

  • R631 PSY UI82566

       UP22/10/01 P F209

  • R632 PSY UI82567

       UP22/10/01 P F209

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":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"630","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
12 December 2023