A fix is available
APAR status
Closed as program error.
Error description
The optimizer was incorrectly deciding that the addition of two 18-digit BINARY data items could be done as a binary addition instead of a packed-decimal addition. This is incorrect as the result could be 19 digits, and some 19-digit values cannot be represented in a 64-bit binary data item. Because of this decision, the code that was generated would add the two 18-digit data items together and truncate after the ON SIZE ERROR check. Prior behaviour (that of COBOL 4, and without doing this optimization) would be to truncate the data items before they were added together.
Local fix
N/A
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL 6.4 compiling * * programs at ARCH(11) or lower with * * TRUNC(STD|OPT) that add two 18-digit BINARY * * data items together with an ON SIZE ERROR * * clause where the result is 19 digits. * **************************************************************** * PROBLEM DESCRIPTION: The ON SIZE ERROR clause may not be * * executed. * **************************************************************** * RECOMMENDATION: Apply the provided PTF * **************************************************************** The optimizer was incorrectly deciding that the addition of two 18-digit BINARY data items could be done as a binary addition instead of a packed-decimal addition. This is incorrect as the result could be 19 digits, and some 19-digit values cannot be represented in a 64-bit binary data item. Because of this decision, the code that was generated would add the two 18-digit data items together and truncate after the ON SIZE ERROR check. Prior behaviour (that of COBOL 4, and without doing this optimization) would be to truncate the data items before they were added together.
Problem conclusion
The compiler was fixed to avoid the above optimization, truncating the data items to 18 digits before they were added together, producing the same result as COBOL 4.
Temporary fix
Comments
APAR Information
APAR number
PH48674
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
2022-08-12
Closed date
2022-08-18
Last modified date
2022-11-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
IGY8RWTU IGYADXIT 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 IGYCJBLS IGYCJDM1 IGYCJDM2 IGYCJDM3 IGYCJDM4 IGYCJDM5 IGYCJDM6 IGYCJDMB IGYCJDMR IGYCJGEN IGYCLIBR IGYCLSTR IGYCLVL0 IGYCLVL1 IGYCLVL2 IGYCLVL3 IGYCLVL8 IGYCMALL 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 IGYISMKD IGYMSGE IGYMSGK IGYMSGT IGYMSGXT IGYQC IGYQCB IGYQCBE IGYQCBG IGYQSPLT IGYWACPT IGYWALOC IGYWAPLY IGYWC IGYWCL IGYWCLG IGYWDDEF IGYWDOPT IGYWIVP1 IGYWIVP2 IGYWRECV IGYWRWD IGYWSMPE IGYWUOPT IGYWZFS IGYZQEN6 IGYZQENU IGYZQJP6 IGYZQJPN
Fix information
Fixed component name
ENT COBOL FOR Z
Fixed component ID
5655EC600
Applicable component levels
R640 PSY UP
A
R641 PSY UP
A
R642 PSY UI82932
UP22/10/28 P F210
R64H PSY UP
A
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:
12 December 2023