Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

COBOL

Compiler

Runtime system

PROGRAM ..., COMP=

COBOL85 V2.3A

CRTE1 V10.0A on BS2000 OSD/BC V10.0                               
CRTE1 V11.0A on BS2000 OSD/BC V11.0

ILCS / COB12

COBOL2000 V1.5A or later

 

CRTE1 V10.0A on BS2000 OSD/BC V10.0
CRTE1 V11.0A on BS2000 OSD/BC V11.0

ILCS / COB1 2

Comments on the table

1We also strongly recommend that you always use the latest corrections version for

compilers and runtime systems.

2The objects generated by COBOL85 or COBOL2000 are equally suitable for ILCS

linking and non-ILCS linking; there is no compiler option for specifically creating ILCS or non-ILCS objects.

COMP=ILCS means that ILCS linking is used. COMP=COB1 means non-ILCS linking (= old-style linking).

The value of COMP= can be set on the basis of the following criteria:

  • COMP=ILCS is specified if all activated subroutines also have ILCS capability.

  • COMP=COB1 must always be specified if the Cobol module calls subroutines that do not have ILCS capability.

Compiler options

The table below provides an overview of which COMOPT parameters must be set in accordance with the compiler used, and what must be noted in the process.

COMOPT parameter

Compiler

Comment

CHECK-CALLING-HIERARCHY=NO

COBOL85
COBOL2000

Only if COMP=COB1, i.e. with non-
ILCS linking.

   MARK-LAST-PARAMETER=YES

COBOL2000

Recommended

Mixing Cobol programs

If a program unit is generated with COMP=COB1, it may comprise modules compiled with the COB1, COBOL85, or COBOL2000 compiler. If the program unit is generated with COMP=ILCS, it can only comprise modules compiled with the COBOL85 or COBOL2000 compiler.

Within an application, program units generated with COMP=ILCS can coexist with program units generated with COMP=COB1.