IBM Support

PH55843: IGYPG3173-W OR IGYPG3174-W MESSAGES FOR INTERNALLY GENERATED COMPARISONS SUPPRESSED

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Incorrect Output. The compiler may
    issue messages IGYPG3173-W or
    IGYPG3174-W, complaining about
    something similar to "The result of the
    comparison of operands A and 9999 is
    known at compile time, based on the
    attributes of the operands.
    Unconditional code was generated."
    

Local fix

  • BYPASS/CIRCUMVENTION:
    None
    
    RECOVERY ACTION:
    Apply PTF
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of the Enterprise COBOL V6.4       *
    *                 compiler who are compiling source programs   *
    *                 with a group data item that specifies a      *
    *                 level-88 condition name where the range of   *
    *                 values includes the largest value that can   *
    *                 be represented by the associated conditional *
    *                 variable.                                    *
    ****************************************************************
    * PROBLEM DESCRIPTION: Incorrect Output. The compiler may      *
    *                      issue messages IGYPG3173-W or           *
    *                      IGYPG3174-W, complaining about          *
    *                      something similar to "The result of the *
    *                      comparison of operands A and 9999 is    *
    *                      known at compile time, based on the     *
    *                      attributes of the operands.             *
    *                      Unconditional code was generated."      *
    ****************************************************************
    * RECOMMENDATION: Apply the IBM provided PTF                   *
    ****************************************************************
    The customer source program contained the following group data
    item definition in the DATA DIVISION.
            01 Struktur.
               05 Zahl          Pic 9(04).
                 88 Zahl-gross Value 0003 Thru 9999.
     Then in the PROCEDURE DIVISION.
               Perform 10 Times
                  Call 'PTSS64B' Using Struktur
                  If Zahl-gross
                  Then
                     Display 'Grosse Zahl.'
                  Else
                     Display 'Kleine Zahl.'
                  End-If
                  DISPLAY '-----------------------'
               End-Perform
    This results in the compiler issuing the incorrect
    message, as follows.
    ==000017==> IGYPG3173-W The result of the comparison of
    operands ZAHL and 9999 is known at compile time, based on the
    attributes of the operands. Unconditional code was generated.
    What is actually happening internally is that the compiler
    translates the statement.
                  If Zahl-gross
    into the generated statement.
                  If Zahl <= 3 and Zahl >= 9999.
    The second part of this generated statement is what causes the
    compiler to issue the IGYPG3173-W message. But the compiler
    should not have issued the message for an internally generated
    comparison. The compiler user did not code this statement in
    their source program, nor can they have any impact on it.
    

Problem conclusion

  • The compiler has been changed so that it will no longer issue
    the IGYPG3173-W or IGYPG3174-W messages for internally generated
    comparisons.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH55843

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655EC600

  • Reported release

    640

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2023-07-18

  • Closed date

    2023-08-25

  • Last modified date

    2023-09-01

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

  • 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 IGYCJBLD IGYCJGEN IGYCLIBR IGYCLSTR IGYCLVL0
    IGYCLVL1 IGYCLVL2 IGYCLVL3 IGYCLVL8 IGYCMALL IGYCOB2  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

  • R640 PSY UI93309

       UP23/08/31 P F308

  • R641 PSY UI93310

       UP23/08/31 P F308

  • R642 PSY UI93311

       UP23/08/31 P F308

  • R64H PSY UI93312

       UP23/08/31 P F308

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

Document Information

Modified date:
01 September 2023