A fix is available
APAR status
Closed as program error.
Error description
Enterprise COBOL 4 and Enterprise COBOL 6 behave differently compiling programs that assign invalid sign bits to numeric receivers, which later used in arithmetic calculations.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL 6.3 compiling * * programs that contain COMPUTE statements * * where the sender and receiver are both * * USAGE DISPLAY, the sender contains invalid * * zone bits, the compiler can prove the * * COMPUTE has no effect (such as adding zero * * or multiplying by one) and one of the * * sender and receiver, but not both, are * * unsigned * **************************************************************** * PROBLEM DESCRIPTION: Enterprise COBOL 6 may set the sign * * code without doing the computation, * * preserving invalid zone bits, while * * COBOL 4 will do the computation * * regardless, converting to * * PACKED-DECIMAL which gets rid of zone * * bits and causes the receiver to have * * all valid zone bits. * **************************************************************** * RECOMMENDATION: Use NUMCHECK to detect invalid data and * * correct it. If you cannot, apply the * * provided PTF and compile witn INVDATA * **************************************************************** Enterprise COBOL optimizes the redundant COMPUTE statement for performance; it is faster to only set the sign than to convert to PACKED-DECIMAL and do the computation. Enterprise COBOL 4 doesn't do this, so the two compilers handle invalid data in different ways.
Problem conclusion
The compiler was fixed so that with INVDATA specified, redundant computations still have a conversion to PACKED-DECIMAL and back to USAGE DISPLAY, clearing the invalid zone bits as Enterprise COBOL 4 does.
Temporary fix
Comments
APAR Information
APAR number
PH52512
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
2023-02-09
Closed date
2023-03-16
Last modified date
2023-04-18
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 IGYCLIBR IGYCLSTR IGYCLVL0 IGYCLVL1 IGYCLVL2 IGYCLVL3 IGYCLVL8 IGYCMALL 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 UI90994
UP23/03/28 P F303
R631 PSY UI90995
UP23/03/28 P F303
R632 PSY UI90996
UP23/03/28 P F303
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