Interoperability with older levels of IBM COBOL programs
There are some restrictions for Enterprise COBOL 5 and 6 programs to call or be called by (interoperate with) programs compiled with earlier versions of COBOL.
Enterprise COBOL 5 and 6 programs interoperability
Enterprise COBOL 5 and 6 programs cannot interoperate with OS/VS COBOL or VS COBOL II NORES programs in a single application. A COBOL run unit (Language Environment® enclave) that contains an Enterprise COBOL 5 or 6 compiled program must not contain any OS/VS COBOL or VS COBOL II NORES programs.
Note: Run
units that contain only COBOL programs compiled with Enterprise COBOL 4 or earlier
versions can interoperate with OS/VS COBOL and VS COBOL II NORES programs.
Programs
compiled with Enterprise COBOL 5 or 6 can interoperate
with programs compiled with VS COBOL II or later, based on the following
conditions and CALL types:
- Static calls. Enterprise COBOL 5 or 6 compiled programs
can be bound (link-edited) with the following
object modules or programs to form a single program object. The programs
within the program object can specify static calls to and from each
other.
- Programs that are compiled with VS COBOL II with the RES compiler option
- Programs that are compiled with any IBM® COBOL compiler versions subsequent to VS COBOL II
- Programs that are compiled with Enterprise COBOL 3 or 4
Note: Programs that were compiled with VS COBOL II with theNORES
compiler option in effect cannot interoperate with programs compiled with Enterprise COBOL 5 or 6. - Dynamic calls. Program modules that contain programs compiled with VS COBOL II with the RES option, or subsequent versions of COBOL can also interoperate with Enterprise COBOL 5 or 6 program objects by using dynamic CALL statements.
- DLL calls. Program modules that are compiled with earlier versions of COBOL that supported DLL linkage can interoperate with Enterprise COBOL 5 or 6 program objects by using DLL linkage.
How to find if you have OS/VS COBOL programs
To
find if you have OS/VS COBOL programs, you can:
- Use the File Manager View Load Module to scan load libraries for OS/VS COBOL programs.
- Use the free COBOL Analyzer from http://cbttape.org/cbtdowns.htm to scan load libraries for OS/VS COBOL programs. It is named as File # 321 COBOL Analyzer from Roland Schiradin & post processor on that web page.
- Install the fix for APAR PM86742 to your Language Environment and look for a warning message about detected OS/VS COBOL programs at run time.