A fix is available
APAR status
Closed as program error.
Error description
IGYPG3173-W & IGYPG3174-W incorrectly issued for EVALUATE WHEN ... THRU statement is used
Local fix
N/A
Problem summary
**************************************************************** * USERS AFFECTED: Users of the Enterprise COBOL V6.5 * * compiler who compile source programs * * with an EVALUATE statement that includes a * * WHEN ... THRU phrase where the range of * * values includes the largest value that can * * be represented by the EVALUATE subject. * **************************************************************** * 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 data item definition in the DATA DIVISION. 10 W-PER-LIQ-P PIC S9(4) VALUE ZEROS. Several source code statements then conditionally change the value of W-PER-LIQ-P. Then in the PROCEDURE DIVISION. EVALUATE W-PER-LIQ-P WHEN 1 MOVE 'D' TO W-PERIODO-LIQ WHEN 2 THRU 7 MOVE 'W' TO W-PERIODO-LIQ WHEN 8 THRU 15 MOVE 'Q' TO W-PERIODO-LIQ WHEN 16 THRU 30 MOVE 'M' TO W-PERIODO-LIQ WHEN 31 THRU 60 MOVE 'B' TO W-PERIODO-LIQ WHEN 61 THRU 90 MOVE 'T' TO W-PERIODO-LIQ WHEN 91 THRU 180 MOVE 'S' TO W-PERIODO-LIQ WHEN 181 THRU 9999 MOVE 'A' TO W-PERIODO-LIQ END-EVALUATE This results in the compiler issuing the incorrect message, as follows. IGYPG3173-W The result of the comparison of operands W-PER-LIQ-P 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 WHEN 181 THRU 9999 into the generated statement: If W-PER-LIQ-P>=181 and W-PER-LIQ-P<= 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 comparison statement in their source program.
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, resulting from WHEN ... THRU clauses in an EVALUATE statement, when the second conditional name value represents the largest value that can be held by the EVALUATE subject.
Temporary fix
Comments
APAR Information
APAR number
PH68249
Reported component name
ENT COBOL FOR Z
Reported component ID
5655EC600
Reported release
650
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2025-09-23
Closed date
2025-09-24
Last modified date
2025-10-02
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 IGYCJDMJ IGYCJDNJ 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
R650 PSY UO05070
UP25/10/01 P F509
R651 PSY UO05071
UP25/10/01 P F509
R652 PSY UO05072
UP25/10/01 P F509
R65H PSY UO05073
UP25/10/01 P F509
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":"BU048","label":"IBM Software"},"Product":{"code":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.5","Line of Business":{"code":"LOB70","label":"Z TPS"}}]
Document Information
Modified date:
02 October 2025