IBM Support

PH36777: NEW FUNCTION: Diagnose options coded as OPTION() instead of OPTION= in the COBOL customization macro

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as new function.

Error description

  • Although the customization macro documentation shows the OPTION=
    format is required, erroneously coding it as OPTION(), or using
    an incorrect option name like BAD=, makes the miscoded option a
    positional parameter. These positional parameters were left
    undiagnosed, which is a usability problem.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Administrators of Enterprise COBOL           *
    *                 V6.2 who are setting up or modifying their   *
    *                 installation default compiler options and    *
    *                 who have specified unknown options or        *
    *                 options whose syntax is not correct for the  *
    *                 IGYCOPT macro call in the user's IGYCDOPT    *
    *                 assembler module.                            *
    ****************************************************************
    * PROBLEM DESCRIPTION: New Function: If                        *
    *                      an unknown compiler option is specified *
    *                      on the IGYCOPT macro in the IGYCDOPT    *
    *                      assembler module, the IBM High Level    *
    *                      Assembler will treat an unknown         *
    *                      keyword as a positional parameter to    *
    *                      the macro call.  The same thing will    *
    *                      happen if the compiler option is coded  *
    *                      with invalid syntax for the IGYCOPT     *
    *                      macro call, for example if the          *
    *                      administrator specified ARCH(11),       *
    *                      when they actually should have coded    *
    *                      ARCH=11.                                *
    ****************************************************************
    * RECOMMENDATION: Install the IBM provided PTF and             *
    *                 consider rebuilding the IGYCDOPT module that *
    *                 contains the installation default compiler   *
    *                 options for your data center.                *
    ****************************************************************
    When an unknown keyword (compiler option)
    is specified or a known option is specified with the wrong
    syntax, like the example of ARCH(11) versus ARCH=11, the
    assembler treats the option as a positional parameter.
    This has been a problem because the IGYCOPT macro only
    looks at keyword parameters.  The positional parameters
    are discarded with no warning or error message issued.
    This has the potential, in rare cases, to generate a set
    of installation default compiler options that is slightly
    different from what the Enterprise COBOL administrator
    intended for their data center.
    

Problem conclusion

  • New Function: The IGYCOPT macro has been
    updated so that it now processes not only keyword
    parameters but also positional parameters.  This allows
    MNOTE error messages to identify all of the unknown
    options or those with incorrect syntax so that the
    administrator can make the appropriate corrections and
    rebuild the IGYCDOPT module.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH36777

  • Reported component name

    ENT COBOL FOR Z

  • Reported component ID

    5655EC600

  • Reported release

    620

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2021-04-28

  • Closed date

    2021-05-25

  • Last modified date

    2021-06-01

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

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

    PH37331

Modules/Macros

  • IGY8RWTU IGYCASMB IGYCCBE  IGYCCCRT IGYCCICS IGYCCSRV IGYCDGEN
    IGYCDIAG IGYCDMAP 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
    IGYCOPT  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  IGYQCBE  IGYZQDRV IGYZQENU
    IGYZQJPN
    

Fix information

  • Fixed component name

    ENT COBOL FOR Z

  • Fixed component ID

    5655EC600

Applicable component levels

  • R620 PSY UI75163

       UP21/06/01 P F105

  • R621 PSY UI75164

       UP21/06/01 P F105

  • R622 PSY UI75165

       UP21/06/01 P F105

  • R62H PSY UI75166

       UP21/06/01 P F105

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"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"620","Line of Business":{"code":"LOB35","label":"Mainframe SW"}}]

Document Information

Modified date:
12 December 2023