Summary of changes
This topic lists the major changes that have been made to this document since Enterprise COBOL for z/OS® 6.4. The changes that are described in this information have an associated cross-reference for your convenience.
For a complete list of new and improved features in Enterprise COBOL for z/OS 6.4 and COBOL 6.4 with PTFs installed, see What is new in Enterprise COBOL for z/OS 6.4 and COBOL 6.4 with PTFs installed in the Enterprise COBOL for z/OS What's New.
Enterprise COBOL for z/OS 6.4 with PTFs installed
- PH48453: New sample files demonstrating a COBOL/Java™ interoperable application and how to build it are provided in the demo subdirectory of the COBOL install directory in the z/OS UNIX file system. (Example: COBPROD application - building and running)
- PH48667: A problem is fixed for using figurative constant HIGH-VALUES with fixed byte-length UTF-8 data items of a length not a multiple of 4 bytes. (Using UTF-8-character figurative constants)
- PH49715: A new cjbuild command reference section is added to address various usability and stability issues relating to the non-OO Java/COBOL interoperability. (cjbuild command reference)
- PH50295: The
NUMCHECK
compiler option is updated to avoid generating runtime checking code of zoned-decimal senders in MOVE statements when the receiver is an alphanumeric data item and NUMCHECK(ZON(LAX)) is in effect. (NUMCHECK) - PH50296:
CONDCOMP
: The newCONDCOMP
compiler option is introduced to control how conditional code will be displayed in the listing. (CONDCOMP) - PH51752: A new sample JCL is provided to demonstrate how a non-OO COBOL/Java interoperable application can be built and run entirely using JCL. (Sample JCL for building and running the COBPROD application)
- PH53631: Enhanced the
ON EXCEPTION
phrase support to deal with exceptions in the non-OO COBOL/Java interoperability framework. (Handling errors in Java-interoperable COBOL applications) - PH56036 and PH56037: An optional alternate logic path is introduced for VSAM files
that use the
ACCESS IS DYNAMIC
mode. The alternate logic path uses a direct read-by-key request instead of a point to a record by key. (Specifying access modes for VSAM files) - PH56142: When compiling under z/OS
UNIX, you can use the
cob2 -M
option to generate a make dependency file,file.u
. This file contains entries for each copybook file that resides in a z/OS UNIX file system and is referenced in your COBOL source file. (cob2 syntax and options) - PH57297: You can use UTF-8 (
PIC U
) data items as the arguments to theSTRING
andUNSTRING
statements. (COBOL statements and UTF-8 data items)Note: COBOL Runtime LE APAR PH57264 (for AMODE 31) or APAR PH57265 (for AMODE 64) must also be applied on all systems where programs that make use of this new feature are linked or run. - PH57397: You can use function prototypes to invoke COBOL user-defined functions. This is part of the 2014 COBOL Standard. (Using function prototypes)
- PH57400: You can use dynamic-length and UTF-8 (
PIC U
) data items as the arguments to the JSON GENERATE and JSON PARSE statements. (Processing JSON input and Producing JSON output)Note: COBOL Runtime LE APAR PH57152 must also be applied on all systems where programs that make use of this new feature are linked or run. - PH59733: You can generate and parse JSON null values by using the
JSON GENERATE
andJSON PARSE
statements. (Generating JSON null values and Handling JSON null values) - Runtime APAR PH61133 (V2R4 or later): You can use ddname
IGZPROUT
at the run step of your JCL to generate a report of COBOL programs that are compiled with Enterprise COBOL 5 or later releases. (Generating a report of COBOL programs) - PH61700: The
cjbuild
utility is enhanced to allow users to specify the names of COBOL programs in the command line and process all files in the COBOL artifact directory. (cjbuild command reference) - PH64491: Use the LSACHECK option (LSACHECK is short for Linkage Section Addressability Check) to prevent inadvertent use of LINKAGE-SECTION data items prior to establishing addressability. This can prevent problems when migrating to z/OS 2.5 and later.(LSACHECK)
- Runtime APARs PH63898 (for 31-bit/AMODE31) and PH63939 (for 64-bit/AMODE64) provide new runtime messages for ABENDs due to LSACHECK to better explain the 0C4 ABEND
Enterprise COBOL for z/OS 6.4
Compiler option changes
- The following compiler options are new:
SMARTBIN
: UseSMARTBIN
to instruct the compiler to generate modules containing additional binary metadata that enables them to be optimized by IBM Automatic Binary Optimizer (ABO) for z/OS 2.2. (SMARTBIN)JAVAIOP
: UseJAVAIOP
to control the behavior of COBOL programs that interoperate with Java though theJAVA-CALLABLE
orJAVA-SHAREABLE
directives or by calling Java static methods using theCALL
statement. (JAVAIOP)
- The following compiler options are modified:
ARCH
:ARCH(8)
andARCH(9)
are no longer accepted. A new higher level ofARCH(14)
is accepted.ARCH(10)
is the default. (ARCH)RULES
: If there are multipleRULES
specifications for a compilation, the suboptions are additive, which means they are accumulated. (RULES)TUNE
:TUNE(8)
andTUNE(9)
are no longer accepted. A new higher level ofTUNE(14)
is accepted.TUNE(10)
is the default ifARCH
is not specified. (TUNE)
Improved COBOL/Java interoperability
You can easily extend your COBOL applications with Java using a more comprehensive and flexible form without the need to write object-oriented (OO) COBOL programs. (COBOL/Java interoperability outside of the object-oriented (OO) COBOL framework and Compiling, linking, and running non-OO COBOL applications that interoperate with Java)
Interoperability between AMODE 31 (31-bit) and AMODE 64 (64-bit) COBOL programs
AMODE 64
(64-bit) COBOL applications can interoperate with your existing
AMODE 31
(31-bit) COBOL applications. Dynamic call is supported in a mixed
AMODE 31
/AMODE 64
environment. (COBOL applications with mixed AMODE 31 and AMODE 64 programs)
User-defined functions support
You can write your own function definitions and invoke them by using a reference to a function identifier. This is part of the 2002 COBOL Standard. (Using user-defined functions)
Debugging enhancement
With COBOL 6.4 at the base level, you can use ddname IGZPROUT
at the run step of
your JCL to generate a report of all dynamically called programs that are compiled with Enterprise
COBOL 5 or later releases. With the COBOL runtime PTF for APAR PH61133 installed, the report
contains COBOL 5 or later programs that are called dynamically, statically, and via DLL linkage.
(Generating a report of COBOL programs)