Adding Enterprise COBOL programs to existing applications

You can create new Enterprise COBOL programs (or recompile existing programs with Enterprise COBOL) and run them with existing applications under Language Environment®.

Note: You should use this Migration Guide only if you have completed the runtime migration to Language Environment. This means that the following conditions have been met:
  • The Language Environment data set SCEERUN is installed in LNKLST or LPALST.
  • There are no instances of COBLIB, VSCLLIB, or COB2LIB in LNKLST or LPALST.
  • There are no instances of COBLIB, VSCLLIB, or COB2LIB in JCL STEPLIB or JOBLIB statements or in CICS® startup JCL.
  • All statically bound runtime library routines for programs that are compiled with NORES have been REPLACEd with routines from Language Environment.
  • IGZEBST bootstrap modules for VS COBOL II programs that are compiled with RES were either linked with the VS COBOL II runtime version of IGZEBST that has APAR PN74000 applied, or IGZEBST was REPLACEd with IGZEBST from Language Environment.

If these steps have not been completed, please first complete all runtime migration activities in the Enterprise COBOL V4.2 Compiler and Runtime Migration Guide at http://publibfp.dhe.ibm.com/epubs/pdf/igy3mg50.pdf prior to following the steps here.

When running a mixture of VS COBOL II programs and Enterprise COBOL V5 or V6 programs:

  • A current version of IGZEBST is required:Start of change
    • 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 V5 or V6 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 V5 or V6 programs.
    End of change
  • A current version of CEEBETBL, the Language Environment externals table, is required. If you are including object code bound some time ago with your new COBOL V5 or V6 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 V5 or V6 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.

When adding Enterprise COBOL programs to existing applications, you must be aware of the following items:
  • Restrictions of running programs with certain old COBOL programs
  • Acquiring WORKING-STORAGE both above and below the 16-MB line
  • Effect of compiler option changes
  • Reserved word changes
  • Other behavior differences with Enterprise COBOL V5 and V6
For details, see Adding Enterprise COBOL Version 5 or Version 6 programs to existing COBOL applications.
Restriction: You cannot mix Enterprise COBOL V5 or V6 programs with:
  • OS/VS COBOL programs. You must migrate them to Enterprise COBOL.
  • VS COBOL II NORES programs. You must migrate them to Enterprise COBOL.