Runtime support for assembler COBOL calls under non-CICS

The combinations of calls involving COBOL programs and assembler programs and whether the calls are supported when running under Language Environment® under non-CICS® are listed in the following table.

For the calls that are not supported, Table 1 also lists the symptom (message or abend code) that is returned in most cases. In some cases, depending on the application environment, the symptom might not occur. You could receive a different failure, or the application might appear to run successfully.

The term, IBM COBOL refers to COBOL/370, COBOL for MVS &VM and COBOL for OS/390® & VM.

Table 1. Language Environment supported calls between COBOL programs and assembler programs under non-CICS; Yes indicates that a call is supported.
Calls from Issued to
Call type Program issuing Enterprise COBOL IBM COBOL VS COBOL II OS/VS COBOL LanEnv1 Asm2 main LanEnv1 Asm subrtn Non-LanEnv Asm
Static Enterprise COBOL Yes Yes Yes No No3 Yes Yes
IBM COBOL Yes Yes Yes Yes No3 Yes Yes
VS COBOL II with RES Yes Yes Yes Yes No3 Yes4 Yes
VS COBOL II with NORES No Yes Yes Yes No3 Yes4 Yes
OS/VS COBOL No Yes Yes Yes No3 Yes4 Yes
Dynamic Enterprise COBOL Yes Yes Yes No No3 Yes Yes
IBM COBOL Yes Yes Yes Yes No3 Yes Yes
VS COBOL II with RES Yes Yes Yes Yes No3 Yes Yes
VS COBOL II with NORES No Yes Yes Yes No3 Yes Yes
OS/VS COBOL No Yes Yes Yes No3 Yes Yes
VCON Asm (LanEnv) Yes Yes Yes Yes No3 Yes Yes
Asm (non-LanEnv) Yes Yes Yes Yes Yes5 No6 Yes
LOAD Asm (LanEnv) Yes Yes Yes Yes No3 Yes Yes
BALR Asm (non-LanEnv) Yes Yes Yes Yes Yes5 No6 Yes
LINK Asm (LanEnv) Yes Yes Yes Yes7 Yes No6 Yes
Asm (non-LanEnv) Yes Yes Yes Yes7 Yes No6 Yes

The failure symptoms described in these notes are as they would occur when the Language Environment TRAP(ON) and ABTERMENC(ABEND) runtime options are in effect.

  1. (LanEnv stands for Language Environment.) CEEENTRY macro with MAIN=YES creates a Language Environment assembler main. If you specify MAIN=NO on the CEEENTRY macro, a Language Environment assembler subroutine is created. The default is MAIN=YES.
  2. (Asm stands for assembler.)
  3. Invoking a Language Environment assembler main program from an established Language Environment enclave is not recommended (unless through the use of SVC LINK). For this reason, the table entries associated with this footnote are marked No. A nested enclave is not created and, therefore, the program runs as a subprogram in the invoking enclave. If you follow this recommendation, you might avoid the need for reprogramming in the future.
  4. You must specify NAB=NO and MAIN=NO on the CEEENTRY macro. Otherwise, you will receive failure symptom 0C1, 0C4, or 0C5 abend.
  5. If the non-Language Environment assembler caller is running within an established Language Environment enclave, see note 3.
  6. Failure symptom of 0C1, 0C4, or 0C5 abend.
  7. Except when OS/VS COBOL programs exist in another established Language Environment enclave. For detail, see Failure symptom of: message IGZ0005S.