IBM Support

PH47833: 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.2 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

    PH47833

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655EC600

  • Reported release

    620

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2022-07-07

  • Closed date

    2022-08-11

  • Last modified date

    2022-09-27

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

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

    PH48674 PH49828

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 IGYCLIBH IGYCLIBO IGYCLIBR IGYCLSTR IGYCLVL0
    IGYCLVL1 IGYCLVL2 IGYCLVL3 IGYCLVL8 IGYCMALL IGYCOPI  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  IGYZQDRV IGYZQENU IGYZQJPN
    

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655EC600

Applicable component levels

  • R620 PSY UI81902

       UP22/08/19 P F208

  • R621 PSY UI81903

       UP22/08/19 P F208

  • R622 PSY UI81904

       UP22/08/19 P F208

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":"620","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
12 December 2023