A fix is available
APAR status
Closed as program error.
Error description
The generated code for the MOVE converts the BINARY value to PACKED-DECIMAL and then converts to USAGE DISPLAY. At ARCH(12|13), the instruction used to convert from BINARY to PACKED-DECIMAL generates an overflow exception whenever it truncates. In a pure COBOL application, the overflow exception is suppressed at the hardware level, but in a mixed-language application, other programs can set a hardware flag that causes overflow exceptions to be generated. The overflow is handled by LE, which silently suppresses the overflow in COBOL programs (as COBOL programs silently truncate on overflow), so the behaviour of the program isn't changed, but the overhead required in LE handling the overflow has an impact on the program's performance. Users Affected: Users of Enterprise COBOL 6.x compiling programs at ARCH(12|13) that are part of an application with C++, PL/I, or JAVA programs, MOVE from a BINARY sender to a USAGE DISPLAY receiver where the number of digits in the value being moved exceeds the picture clause of the receiver
Local fix
Compile at ARCH(11)
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL 6.3 compiling * * programs at ARCH(12|13) that are part of an * * application with C++, PL/I, or JAVA * * programs, MOVE from a BINARY sender to a * * USAGE DISPLAY receiver where the number of * * digits in the value being moved exceeds the * * picture clause of the receiver * **************************************************************** * PROBLEM DESCRIPTION: Performance is worse at ARCH(12|13) * * than ARCH(11) * **************************************************************** * RECOMMENDATION: Apply the provided PTF. * **************************************************************** The generated code for the MOVE converts the BINARY value to PACKED-DECIMAL and then converts to USAGE DISPLAY. At ARCH(12|13), the instruction used to convert from BINARY to PACKED-DECIMAL generates an overflow exception whenever it truncates. In a pure COBOL application, the overflow exception is suppressed at the hardware level, but in a mixed-language application, other programs can set a hardware flag that causes overflow exceptions to be generated. The overflow is handled by LE, which silently suppresses the overflow in COBOL programs (as COBOL programs silently truncate on overflow), so the behaviour of the program isn't changed, but the overhead required in LE handling the overflow has an impact on the program's performance.
Problem conclusion
The compiler was fixed to delay truncation until the conversion from PACKED-DECIMAL to USAGE DISPLAY, done with an instruction that doesn't produce an overflow exception.
Temporary fix
Comments
APAR Information
APAR number
PH35434
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
2021-03-17
Closed date
2021-03-23
Last modified date
2021-04-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 IGYCLIBR IGYCLSTR IGYCLVL0 IGYCLVL1 IGYCLVL2 IGYCLVL3 IGYCLVL8 IGYCMALL IGYCOB2E 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 UI74566
UP21/03/30 P F103
R631 PSY UI74567
UP21/03/30 P F103
R632 PSY UI74568
UP21/03/30 P F103
R63H PSY UI74569
UP21/03/30 P F103
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