A fix is available
APAR status
Closed as new function.
Error description
Support is added for new options NUMCHECK(ZON(LAXREDEF|STRICTREDEF)). When NUMCHECK(ZON(LAXREDEF)) is in effect, the check for valid data in zoned decimal data items will take into account certain properties of numeric data items redefined by zoned items, including sign properties and the presence of leading spaces. When NUMCHECK(ZON(STRICTREDEF)) is in effect, the properties of redefined items will not be taken into account and the standard numeric class test for zoned decimal data will be performed.
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL 6.3 compiling * * and running programs compiled with the * * NUMCHECK(ZON) option in effect, where the * * program contains: * * * * 1. an unsigned zoned decimal data item * * that redefines a signed trailing * * overpunch zoned decimal data item such * * that the last byte of the two items * * overlap in memory; or * * * * 2. a zoned decimal data item that * * redefines the leading portion of a * * numeric-edited data item and the * * leading portion consists entirely of * * a number of leading spaces followed * * by a number of zoned decimal digits. * **************************************************************** * PROBLEM DESCRIPTION: New function: * * * * A new option * * NUMCHECK( * * ZON(...,LAXREDEF|STRICTREDEF,...)) * * is provided. * * * * When NUMCHECK(ZON(LAXREDEF)) is in * * effect, the NUMCHECK processing: * * * * 1. tolerates a valid sign nibble for * * the high nibble of the last byte of * * an unsigned zoned decimal data item * * whose last byte overlaps the last * * byte of a signed trailing overpunch * * zoned decimal data item; and * * * * 2. tolerates leading spaces in a * * zoned decimal data item when it * * redefine the leading portion of a * * numeric-edited data item and the * * redefined portion consists entirely * * of a number of leading spaces * * followed by a number of zoned * * decimal digits. * * * * Option * * NUMCHECK(ZON(...,STRICTREDEF,...)) * * is the default and when it is in * * effect, zoned decimal data items that * * redefine other data items in various * * ways are still strictly checked using * * the NUMERIC class test. * **************************************************************** * RECOMMENDATION: Apply the provided PTF. * **************************************************************** Some users have a common pattern in their code where an unsigned zoned decimal data item overlaps a signed zoned decimal item due to a redefine, or a zoned decimal item overlaps the leading portion of a numeric-edited item and the leading portion consists entirely of a number of leading spaces followed by a number of zoned decimal digits. For users who face one or both of these scenarios and are confident that they do not pose a problem within the context of their data processing, the extra warnings generated may prove to be unhelpful and distracting and so a way to avoid such errors/warnings is desirable.
Problem conclusion
Temporary fix
Comments
The compiler was updated to provide support for new options NUMCHECK(ZON(...,LAXREDEF|STRICTREDEF,...)) to provided users with extra flexibility in controlling NUMCHECK errors/warnings for redefined items. For a description of changes related to the addition of these new options, please refer to the following sections in the Enterprise COBOL for z/OS 6.x Knowledge Center online: 1) Programming Guide -> Compiling and debugging your program -> Compiler Options -> NUMCHECK. 2) Customization Guide -> Enterprise COBOL compiler options -> NUMCHECK
APAR Information
APAR number
PH27536
Reported component name
ENT COBOL FOR Z
Reported component ID
5655EC600
Reported release
630
Status
CLOSED UR1
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2020-07-16
Closed date
2020-07-16
Last modified date
2020-08-03
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Modules/Macros
IGY8CICS IGY8RWRD 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 IGYCOB2 IGYCOB2E 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 IGYQSPLT IGYZQEN6 IGYZQENU IGYZQJP6 IGYZQJPN
Fix information
Fixed component name
ENT COBOL FOR Z
Fixed component ID
5655EC600
Applicable component levels
R630 PSY UI70598
UP20/07/24 P F007
R631 PSY UI70599
UP20/07/24 P F007
R632 PSY UI70600
UP20/07/24 P F007
R63H PSY UI70601
UP20/07/24 P F007
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