Overview of the Enterprise COBOL for z/OS compilers and z/OS Language Environment runtime
This section provides an overview of the IBM® Enterprise COBOL for z/OS® compilers and the z/OS Language Environment runtime.
RECFM=U, DSNTYPE=LIBRARY, and
VERSION=2, and leave all the other attributes blank, like this in
ISPF:Record format . . . . U
Record length . . . .
Block size . . . . .
Data set name type LIBRARY
Data set version . : 2 - Add Language Environment to the LNKLST/LPALST. This moves Language Environment into production,
and all COBOL applications will run under Language Environment by default.
- The only COBOL runtime library present should be SCEERUN. Remove any instances of COBLIB, VSCLLIB, or COB2LIB in JCL STEPLIB or JOBLIB statements or in CICS startup JCL.
-
Note: Only use one library for a given language in LNKLST/LPALST. For example, if you install Language Environment with the COBOL component in LNKLST/LPALST, do not have the OS/VS COBOL library or the VS COBOL II library installed in LNKLST/LPALST.
Optional: Add Language Environment to the STEPLIB JCL. This is a more gradual approach where Language Environment is phased in one region (CICS or IMS) or user (TSO) at a time.Note: Programs run slower and use more virtual storage with this approach than using LNKLST/LPALST to access Language Environment. - For programs compiled with NORES, use REPLACE linkage-editor control statements to replace the existing runtime library routines compiled with Language Environment versions.
- Ensure that SCEERUN is the only COBOL runtime library available in LNKLST/LPALST. Remove any other COBOL runtime libraries present, such as COBLIB, VSCLLIB, or COB2LIB.
- For VS COBOL II programs IGZEBST bootstrap models compiled with RES, do one of the following tasks:
- Link to a runtime version of IGZEBST with APAR PN74000 applied
- REPLACE with IGZEBST from Language Environment
If you understand these conditions, but your shop has not completed its runtime library migration, you must complete that migration before using this book. For help in completing your migration to Language Environment, see Chapter 3. Planning the move to Language Environment in the Enterprise COBOL 4.2 Compiler and Runtime Migration Guide.
Using Language Environment with Enterprise COBOL 5 or 6 and VS COBOL II programs
When running a mixture of VS COBOL II NORES programs and Enterprise COBOL 5 or 6 programs:
- A current version of IGZEBST is required:
- For statically CALLed programs in CICS®, you will need to
replace IGZEBST in applications with VS COBOL II programs with the IGZEBST from LE with the PTFs for
APAR PI33330 installed.Note: IGZEBST from LE with the PTFs for APAR PI33330 installed can also be used with any COBOL programs VS COBOL II and later without COBOL 5 or 6 programs.
- For dynamically CALLed CICS programs, you just need to
install the PTFs for APAR PI25079 on SCEERUN.Note: For statically CALLed programs in non-CICS, performance will be better if you replace IGZEBST in applications with VS COBOL II programs with the IGZEBST from LE with the PTFs for APAR PI33330 installed. It is not required. There is no issue with IGZEBST for dynamically called programs in non-CICS for calling VS COBOL II programs from COBOL 5 or 6 programs.
- For statically CALLed programs in CICS®, you will need to
replace IGZEBST in applications with VS COBOL II programs with the IGZEBST from LE with the PTFs for
APAR PI33330 installed.
- A current version of CEEBETBL, the Language Environment externals
table, is required. If you are including object code bound some time ago with your COBOL 5 or 6 object code, you might be indirectly including an
old version of CEEBETBL.
If the length of CEEBETBL you bind is less than x'28' (or the length of the CEEBETBL in the current SCEELKED library), it is old and needs to be replaced, or you will encounter runtime abends or a terminating runtime message.
If you rebind older object code with COBOL 5 or 6 as part of your migration, it is recommended that you specifically INCLUDE a current copy of CEEBETBL prior to INCLUDEs of the older object code, taking care that you do not inadvertently make CEEBETBL the entry point.
If you understand these conditions, and meet them all, you can skip to Planning to upgrade source programs.
If you do not understand these conditions, then continue reading these overview chapters. If you then discover that your shop has not completed its runtime library migration, see Chapter 3. Planning the move to Language Environment in the Enterprise COBOL 4.2 Compiler and Runtime Migration Guide for help in completing your runtime library migration.