IBM Support

PI91585: NEW RULES SUBOPTION NOOMITODOMIN/OMITODOMIN

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 NOOMITODOMIN has been added to the RULES option
    which causes the compiler to report cases where the minimum size
    of an ODO table has been omitted from its definition, which may
    be inadvertent and may cause an unexpected maximum size for the
    table, which in turn could lead to memory overwrites.
    

Local fix

  • N/A
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Users of Enterprise COBOL V6.2 who would     *
    *                 like to be notified by the compiler when     *
    *                 the minimum number of occurrences of an      *
    *                 OCCURS DEPENDING ON clause is missing        *
    *                 (integer-1 of format-2 of the OCCURS         *
    *                 clause).                                     *
    ****************************************************************
    * PROBLEM DESCRIPTION: New function: Customers will be         *
    *                      notified by a compile time warning      *
    *                      message that the minimum number of      *
    *                      occurrences of an OCCURS DEPENDING ON   *
    *                      clause is missing.  This APAR adds a    *
    *                      new RULES suboption that allows this    *
    *                      warning message to be issued.           *
    ****************************************************************
    * RECOMMENDATION: Apply the provided PTF.                      *
    ****************************************************************
    When the minimum number of occurrences of an OCCURS DEPENDING
    ON clause is missing, some COBOL users find the clause counter
    intuitive and/or misleading.  They would like to be warned of
    such a usage by a compile time message.
    

Problem conclusion

Temporary fix

Comments

  • The compiler is changed to add two new suboptions to the RULES
    compiler option: RULES(OMITODOMIN) and RULES(NOOMITODOMIN).
    
    +--------------------------------------------------------------
    +
    | 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
    
    ...
    
    OMITODOMIN | NOOMITODOMIN
        The default is OMITODOMIN. Specifying NOOMITODOMIN causes
    the compiler to issue warning messages for any OCCURS DEPENDING
    ON clauses that are missing integer-1 (the minimum number of
    occurrences).
    
        For more information about the OCCURS DEPENDING ON clause,
    see Variable-length tables in the Enterprise COBOL for z/OS
    Language Reference.
    
    ...
    
    If the RULES option is specified with no suboptions, the
    default
    is Start of
    changeRULES(ENDPERIOD,EVENPACK,LAXPERF,SLACKBYTES,OMITODOMIN,UN
    REF)
    
    | 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).
    
    ...
    
    (NOOOM)
        Causes the compiler to issue warning messages for any
    OCCURS
    DEPENDING ON clauses that are missing integer-1.
    
    | End of changes for:
    |
    | Enterprise COBOL for z/OS Customization Guide, SC27-8712-01
    |
    +--------------------------------------------------------------
    +
    
    +--------------------------------------------------------------
    +
    | Start of changes for:
    |
    | Enterprise COBOL for z/OS Language Reference, SC27-8713-01
    |
    
     integer-1
        The minimum number of occurrences.
    
        The value of integer-1 must be greater than or equal to
    zero, and it must also be less than the value of integer-2.
    
        If integer-1 is omitted, a value of 1 is assumed and the
    keyword TO must also be omitted.
    
        If integer-1 is omitted, you will receive warning messages
    if the RULES(NOOMITODOMIN) compiler option is in effect. For
    more information, see RULES in the Enterprise COBOL Programming
    Guide.
    
    | End of changes for:
    |
    | Enterprise COBOL for z/OS Language Reference, SC27-8713-01
    |
    +--------------------------------------------------------------
    +
    

APAR Information

  • APAR number

    PI91585

  • 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-01-19

  • Last modified date

    2018-02-01

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

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

Modules/Macros

  • IGY8RWRD IGY8RWTU IGYCASMB IGYCCBE  IGYCCCRT IGYCCICS IGYCCSRV
    IGYCDGEN IGYCDIAG IGYCDMAP IGYCDOPT 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 IGYCLIBH IGYCLIBO IGYCLIBR
    IGYCLSTR IGYCLVL0 IGYCLVL1 IGYCLVL2 IGYCLVL3 IGYCLVL8 IGYCMALL
    IGYCOB2E IGYCOPI  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  IGYMSGXT IGYQCBE
    IGYZQDRV IGYZQENU IGYZQJPN
    

Publications Referenced
SC27871201SC27871301SC27871401  

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655EC600

Applicable component levels

  • R620 PSY UI53355

       UP18/01/27 P F801

  • R621 PSY UI53356

       UP18/01/27 P F801

  • R622 PSY UI53357

       UP18/01/27 P F801

  • R62H PSY UI53358

       UP18/01/27 P F801

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