COBOL compatibility considerations

With OS/VS COBOL and VS COBOL II, you must use the following format when specifying the runtime options list:
program arguments / runtime options

This format is the opposite of the Language Environment-defined format. To ensure compatibility with COBOL, Language Environment provides the runtime option CBLOPTS. With it, you can choose if runtime options or program arguments are expected first in the parameter list. CBLOPTS can only be specified at the system level, region level, or in a CEEUOPT CSECT. You can specify a slash (/) as part of the program arguments with CBLOPTS(ON) or CBLOPTS(OFF).

CBLOPTS(ON) allows the existing COBOL format of the invocation character string to continue working (program arguments followed by runtime options). When CBLOPTS(ON) is specified, the last slash in a string delineates the program arguments from the runtime options. Anything before the last slash is interpreted as a program argument.

If there are only invalid runtime options, then the entire string is interpreted as a program argument. For example, if you pass the string 11/16/1967, 1967 is interpreted as an invalid runtime option. Since there are no other runtime options, the entire string is interpreted as a program argument.

Conversely, when CBLOPTS(OFF) is specified, the first slash delineates the runtime options from the program arguments. Anything after the first slash is interpreted as a program argument. CBLOPTS is honored only when a COBOL program is the main routine in the application. For example, if the main routine is C, Language Environment does not honor CBLOPTS. See z/OS Language Environment Programming Reference for more information.

For non-CICS, ensure that COBOL transactions are not link-edited with IGZETUN, which is not supported and which causes an informational message to be logged.

For CICS®, ensure that COBOL transactions are not link-edited with IGZEOPT and IGZETUN, which are not supported and which cause an informational message to be logged.

Logging this message for each application inhibits performance.