IBM Support

PH24343: THE PROGRAM DOES NOT HAVE A S0C9 ABEND WHEN EXECUTING THE CODE FOR THE DIVIDE STATEMENT.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • USERS AFFECTED: Users of Enterprise COBOL V6.x compiling
    programs with OPT(1|2) that contain a COMPUTE or DIVIDE
    statement where the divisor is PIC 9(5) through 9(9) and has a
    value of 0, and is either COMP-5, or is COMP and TRUNC(BIN) is
    specified.
    
    RECOMMENDATION TO CUSTOMER: Apply the provided PTF
    
    PROBLEM SUMMARY: Binary divisions by powers of 2 can be changed
    to a right shift, which is better for performance. The compiler
    was making this change, for 32-bit BINARY data items, even when
    the divisor was 0, which replaced a division operation with a
    shift, avoiding the expected S0C9 abend.
    
    CONCLUSION: The compiler was fixed to not turn binary divisions
    into shifts when the divisor was 0.
    

Local fix

  • Compile at OPT(0)
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL V6.3 compiling     *
    *                 programs with OPT(1|2) that contain a        *
    *                 COMPUTE or DIVIDE statement where the        *
    *                 divisor is PIC 9(5) through 9(9) and has a   *
    *                 value of 0, and is either COMP-5, or is      *
    *                 COMP and TRUNC(BIN) is specified             *
    ****************************************************************
    * PROBLEM DESCRIPTION: The program does not have a S0C9 abend  *
    *                      when executing the code for the DIVIDE  *
    *                      statement.                              *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    ****************************************************************
    Binary divisions by powers of 2 can be changed to a right shift,
    which is better for performance. The compiler was making this
    change, for 32-bit BINARY data items, even when the divisor was
    0, which replaced a division operation with a shift, avoiding
    the expected S0C9 abend.
    

Problem conclusion

  • The compiler was fixed to not turn binary divisions into shifts
    when the divisor was 0.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH24343

  • 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

    2020-04-13

  • Closed date

    2020-05-20

  • Last modified date

    2020-06-04

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

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

    PH26112 PH26113

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 IGYCOB2E 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  IGYQSPLT IGYZQEN6 IGYZQENU IGYZQJP6 IGYZQJPN
    

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655EC600

Applicable component levels

  • R630 PSY UI69624

       UP20/05/27 P F005

  • R631 PSY UI69625

       UP20/05/27 P F005

  • R632 PSY UI69626

       UP20/05/27 P F005

  • R63H PSY UI69627

       UP20/05/27 P F005

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