IBM Support

PI40822: NEW FUNCTION ZONECHECK

A fix is available

Subscribe

You can track all active APARs for this component.

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:

    PI40323

  • 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.



Document information

More support for: Enterprise COBOL for z/OS

Software version: 520

Reference #: PI40822

Modified date: 01 June 2015