A fix is available
APAR status
Closed as program error.
Error description
When moving invalid COMP-3 data, where the value exceeds the picture clause, to a USAGE DISPLAY receiver and then using the receiver in a subsequent computation, the compiler was recognizing that the use of the receiver in the subsequent computation was coming from a COMP-3 source, so the source value, with the invalid leftmost digit, was reused in the computation.
Local fix
Compile at OPT(0)
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL V6.1 compiling * * programs at OPT(1|2) that MOVE a COMP-3 * * data item with an even number of digits * * specified in the picture clause to a USAGE * * DISPLAY data item with the same number of * * digits in the picture clause as the sender, * * where the leftmost four bits of the sender * * are not zero, and then use the USAGE * * DISPLAY data item in a subsequent * * computation. * **************************************************************** * PROBLEM DESCRIPTION: Incorrect results, * **************************************************************** * RECOMMENDATION: Apply the provided PTF. * **************************************************************** When moving invalid COMP-3 data, where the value exceeds the picture clause, to a USAGE DISPLAY receiver and then using the receiver in a subsequent computation, the compiler was recognizing that the use of the receiver in the subsequent computation was coming from a COMP-3 source, so the source value, with the invalid leftmost digit, was reused in the computation.
Problem conclusion
The compiler was fixed, when using ZONEDATA(NOPFD|MIG), to use the USAGE DISPLAY value rather than the COMP-3 value, ensuring that the invalid leftmost digit was ignored in subsequent computations. Not reusing the COMP-3 value leads to slightly worse runtime performance, so this should only be done when invalid data is intentionally tolerated rather than being corrected.
Temporary fix
Comments
APAR Information
APAR number
PI98999
Reported component name
ENT COBOL FOR Z
Reported component ID
5655EC600
Reported release
610
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2018-06-10
Closed date
2018-06-18
Last modified date
2018-08-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
IGY8RWTU IGYCCBE 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 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
R610 PSY UI56627
UP18/06/21 P F806
R611 PSY UI56628
UP18/06/22 P F806
R612 PSY UI56629
UP18/06/22 P F806
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"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.1","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]
Document Information
Modified date:
12 December 2023