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.3 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
PH49828
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
2022-09-27
Closed date
2022-09-27
Last modified date
2022-10-03
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 IGYCOPI IGYCOPT 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 UI82565
UP22/10/01 P F209
R631 PSY UI82566
UP22/10/01 P F209
R632 PSY UI82567
UP22/10/01 P F209
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