A fix is available
APAR status
Closed as program error.
Error description
The ZONEDATA(NOPFD|MIG) options are intended to fix up the sign of a zoned decimal source field, but in the case of a simple COMPUTE ... ROUNDED did not do so, resulting in an 0C7 on the SHIFT AND ROUND DECIMAL (SRP) instruction used to do the rounding.
Local fix
Only for an unsigned COMPUTE ... ROUNDED, adding zero to the source field will resolve the problem.
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL 6.3 compiling * * programs with COMPUTE X = ROUNDED Y * * statements where the sender is an unsigned * * USAGE DISPLAY and the sender contains an * * invalid sign code at runtime. * **************************************************************** * PROBLEM DESCRIPTION: Program will abend with an S0C7 abend. * **************************************************************** * RECOMMENDATION: Identify the problem by compiling with * * NUMCHECK and testing thoroughly, and * * correct the invalid data. * * * * If that cannot be done as part of a * * migration to COBOL 6, then apply the * * provided PTF and compile with * * ZONEDATA(NOPFD) or ZONEDATA(MIG). Clients * * who used NUMPROC(MIG) in COBOL 4 should use * * ZONEDATA(MIG) in COBOL 6 if they do not fix * * the invalid data; clients who used * * NUMPROC(NOPFD|PFD) in COBOL 4 should use * * ZONEDATA(NOPFD) in COBOL 6. * **************************************************************** The compiler was assuming that the sign code was valid, and decided the sign code did not need to be forced to x'F' before the rounding operation. The SRP instruction used to carry out the round requires a valid sign code; finding an invalid sign code, the program abended with a S0C7 data exception.
Problem conclusion
The compiler will continue to remove the instruction to set the sign code to x'F' under ZONEDATA(PFD), as in that case, the compiler is being told to assume all data is valid. Under ZONEDATA(NOPFD|MIG), the compiler was changed to force the sign code to x'F' before the SRP.
Temporary fix
Comments
APAR Information
APAR number
PH31472
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
2020-11-10
Closed date
2020-11-23
Last modified date
2020-12-01
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 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 IGYMSGXT IGYQCBE IGYQSPLT IGYZQEN6 IGYZQENU IGYZQJP6 IGYZQJPN
Fix information
Fixed component name
ENT COBOL FOR Z
Fixed component ID
5655EC600
Applicable component levels
R630 PSY UI72712
UP20/11/28 P F011
R631 PSY UI72713
UP20/11/28 P F011
R632 PSY UI72714
UP20/11/28 P F011
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