AMODE 24 support has been added to Enterprise COBOL for z/OS V5.1.1.
The entry point of an Enterprise COBOL 5.1.0 program can only be AMODE 31. The Enterprise COBOL for z/OS V5.1.0 compiler could not generate programs that could run in AMODE 24. This means that static linking of an Enterprise COBOL 5.1.0 compiled program with other AMODE 24 objects is not supported. However, dynamic calls between an Enterprise COBOL 5.1.0 program and other AMODE 24 objects is allowed.
APAR PM93583 and its PTFs change the Enterprise COBOL for z/OS V5.1 compiler to support AMODE 24 execution of programs. In addition, APAR PM93583 and its PTFs change Enterprise COBOL V5.1.0 to Enterprise COBOL V5.1.1 so that you can easily see if you have the AMODE 24 functionality in your compiler.
APAR PI12151 and its PTFs change the Enterprise COBOL for z/OS V5 runtime to support AMODE 24. This allows Enterprise COBOL for z/OS V5.1.1 users to run Enterprise COBOL V5.1.1 programs with AMODE 24.
Enterprise COBOL V5.1.1 programs can be statically linked with AMODE 24 programs into the same program object. Mixing of Enterprise COBOL 5.1.1 AMODE 24 programs with previous Enterprise COBOL programs is also supported.
Note that Enterprise COBOL programs must run in AMODE 31 under the following cases:
- Programs containing XML PARSE statements
- Programs containing XML GENERATE statements
- Application modules containing COBOL bound together with C, C++, or PL/I, communicating via static CALL
- Programs containing object-oriented language syntax, such as INVOKE statements, or object-oriented class definitions
- Programs compiled with any of the following compiler options:
- Multithreaded applications
- Note: A program compiled with the THREAD option can in AMODE 24, but only in an applicatoin that does not have multiple threads or PL/I tasks
- Programs run from the z/OS UNIX file system
- Note: An AMODE 31 driver program resident in the z/OS UNIX file system can contain a dynamic call to an AMODE 24 program module resident in an MVS PDS or PDSE
- Programs used as COBOL compiler exit modules that are specified on the EXIT compiler option
- Language Environment enclaves that use XPLINK, including either enclaves that contain non-COBOL programs compiled with the XPLINK compiler option, or run with the XPLINK runtime option