Changes in IBM® Enterprise COBOL for z/OS® 6.2

New, changed, and removed compiler options

  • The following compiler options are new:
    • DEFINE
    • INITCHECK
    • INLINE
    • NUMCHECK
    • PARMCHECK
  • The following compiler options are modified:
    • AFP: The default value is changed to AFP(NOVOLATILE).
    • ARCH: A new higher level of ARCH(12) is accepted. ARCH(7) is still the default.
    • MAXPCF: The default value is changed to MAXPCF(100000) to reflect the increased capacity of the COBOL 6 compiler.
    • NOSTGOPT: In earlier versions, data items can get optimized with OPT(2) even when NOSTGOPT was in effect. NOSTGOPT was changed in this version so that no optimization of storage or data items occurs even with OPT(2). This is especially helpful for WORKING-STORAGE eye-catchers.
    • SSRANGE: New suboptions MSG | ABD and ZLEN | NOZLEN are added to the SSRANGE compiler option to allow, respectively:
      • A message instead of an abend and continued processing for additional reporting of out-of-range conditions in a single run.
      • A reference modification of zero length to proceed without a message or abend.
    • TEST: New suboptions SEPARATE and NOSEPARATE are added to the TEST compiler option to control program object size on disk while retaining debugging capability. In addition, new combinations of suboptions are supported in both the TEST and NOTEST compiler options, including TEST(NODWARF), TEST (SEPARATE), and NOTEST(DWARF,SOURCE).
  • The following compiler option is removed:
    • ZONECHECK is deprecated but is tolerated for compatibility, and it is replaced by NUMCHECK(ZON).

New statements

  • The new JSON PARSE statement converts JSON text to COBOL data formats.

New and changed special registers

  • The new JSON-STATUS special register is used to indicate either that a JSON PARSE statement executed successfully or that a nonexception condition occurred.
  • The JSON-CODE special register is also used to indicate either that a JSON PARSE statement executed successfully or that an exception condition occurred.

New directives

  • The following new compiler directives are added to support conditional compilation as defined in the 2002 COBOL Standard:
    • The DEFINE directive defines or undefines a compilation variable.
    • The EVALUATE directive provides a multi-branch method of choosing the source lines to include in a compilation group.
    • The IF directive provides for a one-way or two-way conditional compilation.
  • The new INLINE directive allows the compiler to decide whether to inline procedures referenced by PERFORM statements in the source program.

Debugging changes

  • TEST(SEPARATE) supports generating the debug information into side files to control module size while retaining debugging capability.

Listing changes

  • Compiler diagnostic messages now appear at the end of the listing, as was the case in COBOL compilers before Enterprise COBOL 5.
  • Addition of MD5 signature to program objects and debug data to allow matching of debug data with executables even if a program is recompiled.
  • Three new fields are added at the end of PPA4:
    • Offset of the first user-defined data item in WORKING-STORAGE.
    • Total length of user-defined data items in WORKING-STORAGE.
    • Bit to indicate whether there are EXTERNAL data items.