A fix is available
APAR status
Closed as new function.
Error description
Investigating the possibility of accommodating comparable behavior with V4.2 for arithmetic operations in V6.2 with known invalid data. When using NUMPROC(MIG) in V4.2, the correct migration choice for V6.2 with known invalid data is NUMPROC(NOPFD), ZONEDATA(MIG).
Local fix
N/A
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL 6.3 compiling * * and running programs compiled with the * * ZONEDATA(NOPFD | MIG) option in effect and * * where the programs possibly process * * invalid numeric data. * **************************************************************** * PROBLEM DESCRIPTION: PROBLEM DESCRIPTION: New function: * * * * A new option is provided: * * * * NOINVDATA | * * INVDATA((NOFORCENUMCMP|FORCENUMCMP, * * CLEANSIGN|NOCLEANSIGN)) * * * * The purpose of this option, which * * supersedes the now-deprecated ZONEDATA * * option, is to allow users fine-grained * * control over handling of invalid * * numeric data in their programs. This * * can help programs behave in a way that * * is more compatible with the behavior * * of programs compiled with V4 (or * * earlier versions) of the COBOL * * compiler. * * * * The default is NOINVDATA, indicating * * that the program does not process any * * invalid data. * * * * When INVDATA is specified with no * * suboptions, it defaults to * * INVDATA(NOFORCENUMCMP,CLEANSIGN) * * which is what users migrating from V4 * * or earlier versions of the compiler * * should use when their programs contain * * invalid data and they were using * * option NUMPROC(PFD | NOPFD) in those * * older versions. For users who have * * invalid data in their programs and * * were compiling with the NUMPROC(MIG) * * option in effect, they should use * * INVDATA(FORCENUMCMP,NOCLEANSIGN) to * * achieve the most compatible behavior. * * * * When INVDATA(FORCENUMCMP) is in * * effect, the compiler performs * * comparison of USAGE DISPLAY numeric * * data items in a way that guarantees * * that invalid zone nibbles do not * * influence the result. This behavior * * was available using the NUMPROC(MIG) * * option in V4 and earlier versions of * * the COBOL compiler. * * * * When INVDATA(NOFORCENUMCMP) is in * * effect, the compiler generates * * instructions for comparison of USAGE * * DISPLAY decimal data in the same * * manner as COBOL V4 (or earlier * * versions) when using the * * NUMPROC(NOPFD | PFD) option in COBOL * * V4 (or earlier versions). * * * * When INVDATA(NOCLEANSIGN) is in * * effect, sign nibbles for unsigned * * USAGE DISPLAY, COMP-3 and * * PACKED-DECIMAL data items will not * * be set to x'F' on input to comparison * * or arithmetic operations, increasing * * the likliehood of a S0C7 ABEND if the * * sign nibble contains invalid data. * * This behavior was available using the * * NUMPROC(MIG) option in V4 and earlier * * versions of the COBOL compiler. * **************************************************************** * RECOMMENDATION: Apply the provided PTF. * **************************************************************** In the past, users were instructed to use the ZONEDATA(MIG) option if they used the NUMPROC(MIG) option in V4 (or earlier versions) of the compiler. Unfortunately, ZONEDATA(MIG) did not implement one of the NUMPROC(MIG) behaviors, which was to avoid setting the sign nibble of unsigned zoned/packed data items to x'F' on input to arithmetic and compare operations. This increased the likliehood of a S0C7 ABEND in programs that processed invalid data. Some users would like to be able to enable this behavior in COBOL V6. On the other hand, many existing users of ZONEDATA(MIG) are happy with the current behavior and do not want the ABEND. Therefore, this new behavior has been enabled under a new option, INVDATA(NOCLEANSIGN), where the new INVDATA option supersedes the ZONEDATA option and gives users fine-grained control over invalid data processing and allows them to enable behavior compatible with COBOL V6's ZONEDATA(MIG) option and also the NUMPROC(MIG) option in V4 and earlier versions of the COBOL compiler.
Problem conclusion
Temporary fix
Comments
The compiler was updated to provide support for the new INVDATA option. For a more detailed description of changes related to the addition of this new option, 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 -> INVDATA 2) Customization Guide -> Enterprise COBOL compiler options -> INVDATA
APAR Information
APAR number
PH37328
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
2021-05-18
Closed date
2021-05-19
Last modified date
2021-06-02
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI75468 UI75469 UI75470 UI75471
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 IGYSIDE2 IGYZQEN6 IGYZQENU IGYZQJP6 IGYZQJPN
Fix information
Fixed component name
ENT COBOL FOR Z
Fixed component ID
5655EC600
Applicable component levels
R630 PSY UI75468
UP21/05/29 P F105
R631 PSY UI75469
UP21/05/29 P F105
R632 PSY UI75470
UP21/05/29 P F105
R63H PSY UI75471
UP21/05/29 P F105
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