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.2 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
PH47833
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
2022-07-07
Closed date
2022-08-11
Last modified date
2022-09-27
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 IGYCLIBH IGYCLIBO 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 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 UI81902
UP22/08/19 P F208
R621 PSY UI81903
UP22/08/19 P F208
R622 PSY UI81904
UP22/08/19 P F208
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":"620","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
12 December 2023