A fix is available
APAR status
Closed as program error.
Error description
New Function ZONECHECK
Local fix
N/A
Problem summary
**************************************************************** * USERS AFFECTED: Users of Enterprise COBOL V5.2 who need * * help locating source of invalid data in * * zoned decimal (numeric DISPLAY) data items * * * **************************************************************** * PROBLEM DESCRIPTION: With invalid data in numeric DISPLAY * * data items COBOL V5 can get different * * results from previous compilers. * * * **************************************************************** * RECOMMENDATION: Apply the provided PTF and use the new * * ZONECHECK compiler option. * * * **************************************************************** Many COBOL clients are discovering that they have invalid data in their zone decimal data items, and they are in need of some help to find the source of the invalid data.
Problem conclusion
The compiler is changed to add a new compiler option: ZONECHECK +--------------------------------------------------------------+ | Start of changes for: | | Enterprise COBOL for z/OS Programming Guide, SC14-7382-01 | Chapter 17: Compiler options Add the ZONECHECK compiler option between XREF and ZONEDATA: ZONECHECK(MSG|ABD) The ZONECHECK option allows users to specify default or implicit IF NUMERIC class tests for zoned decimal data items that are used as senders in COBOL statements. ZONECHECK option syntax (for Programming Guide) +--NOZONECHECK--------------+ | | >>-+---------------------------+-->> | | +--ZONECHECK--(-+--MSG--+-)-+ | | +--ABD--+ Default: NOZONECHECK Abbreviations: ZC MSG The MSG suboption requests that an IF NUMERIC test be done on every use of zoned decimal data items as senders, and if the data is invalid (for example, NOT NUMERIC), a runtime warning message with the line number and data item name is issued. ABD The MSG suboption requests that an IF NUMERIC test be done on every use of zoned decimal data items as senders, and if the data is invalid (for example, NOT NUMERIC), a terminating message is issued that causes an abend. Both ZONECHECK(MSG) and ZONECHECK(ABD) result in the compiler generating an implicit numeric class test for each zoned decimal data item that is referenced as a sender in a COBOL statement. Receivers are not checked, unless they are both a sender and a receiver, such as data item B in the following sample statements: ADD A TO B DIVIDE A INTO B COMPUTE B = A + B INITIALIZE B REPLACING ALPHANUMERIC BY B This checking is done before the data item is used in each statement: If the data item is NOT NUMERIC, either a warning message for ZONECHECK(MSG) or a terminating message for ZONECHECK(ABD) is issued. If the data item is NUMERIC, the external behavior of the statement is the same as NOZONECHECK, other than being slower. Performance considerations: ZONECHECK(MSG) and ZONECHECK(ABD) are much slower than NOZONECHECK, depending on how many zoned decimal data items are used in COBOL statements in a program. | End of changes for: | | Enterprise COBOL for z/OS Programming Guide, SC14-7382-01 | +--------------------------------------------------------------+ +--------------------------------------------------------------+ | Start of changes for: | | Enterprise COBOL for z/OS Customization Guide, SC14-7380-01 | Chapter 2: Enterprise COBOL compiler options Add the ZONECHECK compiler option between XREF and ZONEDATA. Use the same descriptions as the Programming Guide except for different syntax: ZONECHECK option syntax (for Customization Guide) +--NO---+ | | >>--ZONECHECK--=-- +-------+-->> | | +--MSG--+ | | +--ABD--+ Default: ZONECHECK=NO Abbreviations: NONE | End of changes for: | | Enterprise COBOL for z/OS Customization Guide, SC14-7380-01 | +--------------------------------------------------------------+
Temporary fix
Comments
APAR Information
APAR number
PI40822
Reported component name
ENT COBOL FOR Z
Reported component ID
5655W3200
Reported release
520
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
YesSpecatt / New Function
Submitted date
2015-05-11
Closed date
2015-05-21
Last modified date
2015-06-01
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
UI27877 UI27878 UI27879
Modules/Macros
IGYCBE IGYCCBE IGYCCICS IGYCCSRV IGYCDGEN IGYCDIAG IGYCDMAP IGYCDOPT IGYCEN$D IGYCEN$R IGYCEN$0 IGYCEN$1 IGYCEN$2 IGYCEN$3 IGYCEN$4 IGYCEN$5 IGYCEN$8 IGYCFGEN IGYCFREE IGYCINIT IGYCJA$D IGYCJA$R IGYCJA$0 IGYCJA$1 IGYCJA$2 IGYCJA$3 IGYCJA$4 IGYCJA$5 IGYCJA$8 IGYCLIBH IGYCLIBO IGYCLIBR IGYCLSTR IGYCLVL0 IGYCLVL1 IGYCLVL2 IGYCLVL3 IGYCLVL8 IGYCMALL IGYCOPI IGYCOPT IGYCOSCN IGYCPGEN IGYCRCTL IGYCRDPR IGYCRDSC IGYCREAL IGYCRWT IGYCSCAN IGYCSIMD IGYCUE$D IGYCUE$R IGYCUE$0 IGYCUE$1 IGYCUE$2 IGYCUE$3 IGYCUE$4 IGYCUE$5 IGYCUE$8 IGYCXREF IGYECWI IGYMSGE IGYMSGK IGYMSGT IGY8RWTU
Fix information
Fixed component name
ENT COBOL FOR Z
Fixed component ID
5655W3200
Applicable component levels
R520 PSY UI27877
UP15/05/28 P F505
R521 PSY UI27878
UP15/05/28 P F505
R522 PSY UI27879
UP15/05/28 P F505
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":"520","Edition":"","Line of Business":{"code":"LOB17","label":"Mainframe TPS"}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"520","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
01 June 2015