IBM Support

PI91586: NEW RULES SUBOPTION NOUNREF/UNREF

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as new function.

Error description

  • A new suboption NOUNREF has been added to the RULES option,
    which causes the compiler to report on unreferenced 01/77 level
    data items in a COBOL program.
    

Local fix

  • N/A
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL V6.2 who would     *
    *                 like to be notified by the compiler when     *
    *                 unreferenced level-01 and level-77 data      *
    *                 items are found in a program.                *
    ****************************************************************
    * PROBLEM DESCRIPTION: New function: Users need a way to       *
    *                      easily identify unreferenced level-01   *
    *                      and level-77 data items in their COBOL  *
    *                      programs.  This APAR provides two new   *
    *                      RULES suboptions, NOUNREFSOURCE and     *
    *                      NOUNREFALL, that cause the compiler to  *
    *                      generate warnings about such            *
    *                      unreferenced data items.                *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    ****************************************************************
    When the STGOPT option is used, occasionally the compiler
    removes unreferenced data items that the user did not want
    removed.  Some users prefer to be notified of unreferenced
    level-01 and level-77 data items through a compiler option and
    then remove such items manually based on their own criteria.
    

Problem conclusion

Temporary fix

Comments

  • The compiler is changed to add three new suboptions to the
    RULES compiler option: RULES(UNREF), RULES(NOUNREFALL) and
    RULES(NOUNREFSOURCE).
    
    +-------------------------------------------------------------+
    | Start of changes for:                                       |
    | Enterprise COBOL for z/OS Programming Guide, SC27-8714-01   |
    
    RULES option syntax
    
       .-NORULES--------------------------------.
       |           .-,---------------------.    |
       |           V   .-ENDPERIOD---.     |    |
    >>-+-RULES--(----+-+-NOENDPERIOD-+---+-+--)-+----------------->
                     | .-EVENPACK---.    |
                     +-+-NOEVENPACK-+----+
                     | .-LAXPERF---.     |
                     +-+-NOLAXPERF-+-----+
                     | .-SLACKBYTES---.  |
                     +-+-NOSLACKBYTES-+--+
                     | .-OMITODOMIN---.  |
                     +-+-NOOMITODOMIN-+--+
                     | .-UNREF---------. |
                     '-+-NOUNREFALL----+-'
                       '-NOUNREFSOURCE-'
    
    Default is: NORULES
    Abbreviations are:
    
        ENDP = ENDPERIOD
        EVENP = EVENPACK
        LXPRF = LAXPERF
        SLCKB = SLACKBYTES
        OOM = OMITODOMIN
        NOUNRA = NOUNREFALL
        NOUNRS = NOUNREFSOURCE
    
    ...
    
    UNREF | NOUNREFALL | NOUNREFSOURCE
        The default is UNREF, which means that no reporting of
        unreferenced data items occurs.
    
        When NOUNREFALL is specified, all level-01 and level-77
        data items in the FILE SECTION, WORKING-STORAGE SECTION,
        LOCAL-STORAGE SECTION, and LINKAGE SECTION that are
        unreferenced, including no subordinate items referenced
        when the item is a group, are reported, regardless of
        whether the definition of the data item appears directly in
        the user source program or was included in the program from
        a copy member.
    
        When NOUNREFSOURCE is specified, all level-01 and level-77
        data items in the FILE SECTION, WORKING-STORAGE SECTION,
        LOCAL-STORAGE SECTION, and LINKAGE SECTION that are
        unreferenced, including no subordinate items referenced
        when the item is a group, are reported only if the
        definition of the data item appears directly in the user
        source program.
    
        Notes:
    
            o In COBOL, the definition of a single group item can
            spread across different files. When this occurs, and if
            the definition of the level-01 data item of the group
            is in the main source file, then those data items that
            are unreferenced will be reported when NOUNREFSOURCE is
            in effect.
    
            o Data items with the name prefix DSN, DFH, EYU, and
            SQL will not be reported when NOUNREFALL or
            NOUNREFSOURCE is in effect.
    
    ...
    
    If the RULES option is specified with no suboptions, the
    default is Start of changeRULES(ENDPERIOD,EVENPACK,LAXPERF,
    SLACKBYTES,OMITODOMIN,UNREF)
    
    | End of changes for:                                         |
    | Enterprise COBOL for z/OS Programming Guide, SC27-8714-01   |
    +-------------------------------------------------------------+
    
    +-------------------------------------------------------------+
    | Start of changes for:                                       |
    | Enterprise COBOL for z/OS Customization Guide, SC27-8712-01 |
    
    Syntax
    
                  .-NO------------------.
                  | .-,---------------. |
                  | V   .-ENDP---.    | |
    >>-RULES=--(--+---+-+-NOENDP-+--+-+-+--)---------------------->
                      | .-EVENP---. |
                      +-+-NOEVENP-+-+
                      | .-LXPRF---. |
                      +-+-NOLXPRF-+-+
                      | .-SLCKB---. |
                      +-+-NOSLCKB-+-+
                      | .-OOM---.   |
                      +-+-NOOOM-+---+
                      | .-UNREF--.  |
                      '-+-NOUNRA-+--'
                        '-NOUNRS-'
    
    Default
        RULES = (NO)
        Has the same effect as
    RULES=(ENDP,EVENP,LXPRF,SLCKB,OOM,UNREF).
    
    ...
    
    (NOUNRA)
        When NOUNRA is specified, all level-01 and level-77 data
        items in the FILE SECTION, WORKING-STORAGE SECTION,
        LOCAL-STORAGE SECTION, and LINKAGE SECTION that are
        unreferenced, including no subordinate items referenced
        when the item is a group, are reported, regardless of
        whether the definition of the data item appears directly in
        the user source program or was included in the program from
        a copy member.
    
    (NOUNRS)
        When NOUNRS is specified, all level-01 and level-77 data
        items in the FILE SECTION, WORKING-STORAGE SECTION,
        LOCAL-STORAGE SECTION, and LINKAGE SECTION that are
        unreferenced, including no subordinate items referenced
        when the item is a group, are reported only if the
        definition of the data item appears directly in the user
        source program.
    
        Notes:
    
            o In COBOL, the definition of a single group item can
            spread across different files. When this occurs, and if
            the definition of the level-01 data item of the group
            is in the main source file, then those data items that
            are unreferenced will be reported when NOUNRS is in
            effect.
            o Data items with the name prefix DSN, DFH, EYU, and
            SQL will not be reported when NOUNRA or NOUNRS is in
            effect.
    
    | End of changes for:                                         |
    | Enterprise COBOL for z/OS Customization Guide, SC27-8712-01 |
    +-------------------------------------------------------------+
    

APAR Information

  • APAR number

    PI91586

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655EC600

  • Reported release

    620

  • Status

    CLOSED UR1

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-12-14

  • Closed date

    2018-02-16

  • Last modified date

    2018-10-02

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

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

Publications Referenced
SC27871201SC27871401   

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655EC600

Applicable component levels

  • R622 PSY UI56122

       UP18/06/01 P F805

  • R62H PSY UI58273

       UP18/09/06 P F809

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":"620","Edition":"","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
12 December 2023