IBM Support

PI71625: NEW FUNCTION NUMCHECK

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as new function.

Error description

  • New compiler option NUMCHECK being added
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL V6.1 who want to   *
    *                 validate PACKED-DECIMAL and BINARY           *
    *                 (w/TRUNC(OPT) or TRUNC(STD)) data to ensure  *
    *                 a smooth migration from older COBOL          *
    *                 compilers.                                   *
    *                                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION: There is currently no way to have the   *
    *                      compiler or generated code validate     *
    *                      PACKED-DECIMAL or BINARY data, new      *
    *                      function is needed.                     *
    *                                                              *
    ****************************************************************
    * RECOMMENDATION: Install the provided PTFs and use the new    *
    *                 NUMCHECK compiler option.                    *
    *                                                              *
    ****************************************************************
    IBM added the ZONECHECK compiler option to help customers find
    invalid data in numeric DISPLAY (zoned decimal) data items.
    This APAR will add the NUMCHECK compiler option which will add
    checking for PACKED-DECIMAL (COMP-3) and BINARY (COMP) data
    items.
    

Problem conclusion

Temporary fix

Comments

  • The new option, NUMCHECK, will replace ZONECHECK and add new
    capabilities beyond what ZONECHECK provided.  If ZONECHECK is
    specified it will be accepted as NUMCHECK(ZON) The Programming
    Guide will be changed as follows to describe the new compiler
    option::
    
    NUMCHECK
    
    The NUMCHECK compiler option tells the compiler whether
    to generate extra code to validate data items when they
    are used as sending data items. For zoned decimal (numeric
    USAGE DISPLAY) and packed decimal (COMP-3) data items,
    the compiler generates implicit numeric class tests for
    each sending field. For binary data items, the compiler
    generates SIZE ERROR checking to see whether the data
    item has more digits than its PICTURE clause allows.
    
    NUMCHECK option syntax
    
       .-NONUMCHECK---------------------------.
    >>-+--------------------------------------+--------->
       '-NUMCHECK--+--------------------------+
                   |    .-,-------------.     |
                   |    V               |     |
                   '--(---+-+-ZON---+-+-+--)--'
                          | '-NOZON-' |
                          +-+-PAC---+-+
                          | '-NOPAC-' |
                          +-+-BIN---+-+
                          | '-NOBIN-' |
                          '-+-MSG-+---'
                            '-ABD-'
    
    Option default is: NONUMCHECK
    Suboption defaults are:
    
        If no suboption is specified, the default is
        NUMCHECK(ZON,PAC,BIN,MSG).
        If only one suboption is specified, defaults are NOZON,
        NOPAC, NOBIN, and MSG. For example, NUMCHECK(BIN) has
        the same effect as NUMCHECK(NOZON,NOPAC,BIN,MSG).
    
    Abbreviations are: NONC | NC
    
    ZON | NOZON
    
       Specifying ZON causes the compiler to generate code
       for an implicit numeric class test for zoned decimal
       (numeric USAGE DISPLAY) data items that are used as
       sending data items in COBOL statements.
    
    PAC | NOPAC
    
        Specifying PAC causes the compiler to generate code
        for an implicit numeric class test for packed decimal
        (COMP-3) data items that are used as sending data
        items in COBOL statements.
    
    
    PAC | NOPAC
    
        Specifying PAC causes the compiler to generate code
        for an implicit numeric class test for packed decimal
        (COMP-3) data items that are used as sending data
        items in COBOL statements.
    
    BIN | NOBIN
    
        Specifying BIN causes the compiler to generate code
        similar to ON SIZE ERROR to test if binary data items
        contents are bigger than the PICTURE clause when
        TRUNC(BIN) is not in effect. This extra code will be
        generated only for binary data items that are used
        as sending data items, and COMP-5 data items will
        not get this ON SIZE ERROR code generated.
    
    MSG | ABD
    
        Determines whether the message issued for invalid
        data is a warning level message to continue processing
        or a terminating level message to cause an abend:
    
          If MSG is in effect, a runtime warning message with
              the line number, data item name, data item content,
              and program name is issued.
          If ABD is in effect, a terminating message is issued
              that causes an abend.
    
      NUMCHECK(ZON,MSG) is treated as if ZONECHECK(MSG) were in
    effect. NUMCHECK(ZON,ABD) is treated as if ZONECHECK(ABD) were
    in effect.
    
    The Customization Guide will be changed as follows to describe
    the syntax of the new compiler option:
     Syntax
    
    
                          .--NO---------------.
                          | .-,-------------. |
                          | V               | |
    >>-NUMCHECK=-+---+-(--+---+-+-ZON---+-+-+-+--)--------------->
                 +-*-+        | '-NOZON-' |
                              +-+-PAC---+-+
                              | '-NOPAC-' |
                              +-+-BIN---+-+
                              | '-NOBIN-' |
                              '-+-MSG-+---'
                                '-ABD-'
      Default: NUMCHECK=(NO)
    

APAR Information

  • APAR number

    PI71625

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655EC600

  • Reported release

    610

  • Status

    CLOSED UR1

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-11-01

  • Closed date

    2017-02-14

  • Last modified date

    2017-05-03

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    PI81006

Modules/Macros

  •    IGYCRCTL
    

Publications Referenced
SC27871400SC27871200   

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655EC600

Applicable component levels

  • R610 PSY UI44685

       UP17/02/25 P F702

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":"BU048","label":"IBM Software"},"Product":{"code":"SS6SG3","label":"Enterprise COBOL for z\/OS"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.1","Edition":"","Line of Business":{"code":"LOB70","label":"Z TPS"}}]

Document Information

Modified date:
05 September 2024