IBM Support

PH09545: After PI98909, compare problems with varying length reference modified PIC X(1) parameters

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • PI98909 introduced an optimization to recognize when an
    alphanumeric EQUAL or NOT EQUAL comparison between a literal and
    a fixed length data name is true or not at compile time. The
    optimization doesn't account for the PIC X(1) parameter idiom
    where the X(1) is used as a placeholder for an actually much
    longer parameter accessed through reference modification
    exceeding the declared length.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL V6.2 compiling and *
    *                 running programs containing alphanumeric or  *
    *                 national EQUAL or NOT EQUAL relational       *
    *                 comparison operations between a              *
    *                 variable-length referenced modified operand  *
    *                 and a literal, or a variable-length group    *
    *                 operand and a literal, where the byte        *
    *                 length of the literal is longer than the     *
    *                 maximum fixed length of the other operand,   *
    *                 and the extraneous bytes of the literal      *
    *                 contain non-blank EBCDIC or national         *
    *                 characters.                                  *
    ****************************************************************
    * PROBLEM DESCRIPTION: Undesired optimized runtime results and *
    *                      compile-time warning message:           *
    *                                                              *
    *                      IGYPG3173-W The result of the           *
    *                      comparison of operands op1 and op2 is   *
    *                      known at compile time, based on the     *
    *                      attributes of the operands.             *
    *                      Unconditional code was generated.       *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    ****************************************************************
    The compiler was unexpectedly applying an optimization to
    alphanumeric and national literal comparisons involving
    variable-length reference modified items and variable-length
    group items.
    

Problem conclusion

  • The compiler was changed to produce conditional code when the
    operand compared to the literal is either a variable-length
    reference modified item or a variable-length group item. Also,
    the warning message will not be issued.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH09545

  • 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

    2019-03-08

  • Closed date

    2019-03-20

  • Last modified date

    2019-04-08

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

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

    UI62019 UI62020 UI62021 UI62022 PH10714 PH10717

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 IGYCOB2  IGYCOB2E
    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  IGYZQDRV
    IGYZQENU IGYZQJPN
    

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655EC600

Applicable component levels

  • R620 PSY UI62019

       UP19/03/29 P F903

  • R621 PSY UI62020

       UP19/03/29 P F903

  • R622 PSY UI62021

       UP19/03/29 P F903

  • R62H PSY UI62022

       UP19/03/29 P F903

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"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"620","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
12 December 2023