Rational Developer for System z
Enterprise COBOL for z/OS, Version 4.1, Compiler and Runtime Migration Guide


Recommended runtime options for non-CICS applications

Table 1 describes the Language Environment runtime options that are highly recommended for existing non-CICS COBOL applications. For a complete list of Language Environment runtime options, see Language Environment Programming Reference.

Table 1. Recommended Language Environment runtime options for non-CICS COBOL applications
Option LanEnv default setting Recommended COBOL setting Comments
ABTERMENC ABEND ABEND ABTERMENC(ABEND) ensures that your application ends with an abend after an abend, program check or severe error occurs, similar to the way OS/VS COBOL and VS COBOL II would end after a problem.

For additional VS COBOL II runtime messages considerations, see Abend codes.

To obtain a system dump, see Obtaining a system dump or a CICS transaction dump.

CBLOPTS ON ON CBLOPTS(ON) allows the existing COBOL format of the invocation character string to continue working (user parameters followed by the runtime options). This option affects only applications with COBOL as the main program.
CBLQDA OFF OFF CBLQDA(OFF) suppresses QSAM dynamic allocation for files not available when OPEN OUTPUT, OPEN I-O (optional file), or OPEN EXTEND (optional file) statements are directed to a QSAM file. CBLQDA(OFF) behavior is compatible with programs compiled with OS/VS COBOL, VS COBOL II, Release 2, and VS COBOL II, Release 3, and later compiled with CMPR2, as well as any VS COBOL II NOCMPR2 programs running under VS COBOL II run time with the ZAP from APAR II04562 applied to IGZEQOC. CBLQDA(ON) conforms to the COBOL 85 Standard.
RTEREUS OFF OFF RTEREUS is not recommended as an installation default. If you do use RTEREUS, use it for specific applications only and make sure that you understand the possible side effects and restrictions, for example:
  • RTEREUS(ON) is ignored if CEEPIPI or DB2 stored procedures are used.
  • Under Language Environment, RTEREUS(ON) is only supported in a single enclave environment unless you modify the behavior using the IGZERREO CSECT. With the IBM-supplied default setting for COBOL's reusable environment, applications that attempt to create nested enclaves will terminate with error message IGZ0168S. Nested enclaves can be created by applications that use SVC LINK or CMSCALL to invoke applications programs. One example is when an SVC LINK is used to invoke an application program under ISPF that is using ISPF services (such as CALL 'ISPLINK' and ISPF SELECT).
  • If a Language Environment reusable environment is established (using RTEREUS), attempts to run a C or PL/I main program under Language Environment will fail. For example, when running on ISPF with RTEREUS(ON):
    • The first program invoked by ISPF is a COBOL program. A Language Environment reusable environment is established.
    • At some other point, ISPF invokes a PL/I or C program. The initialization of the PL/I or C program will fail.
  • If a large number of COBOL programs are run under the same MVS task, you can get out of region abends. This is because all storage acquired by Language Environment to run COBOL programs is kept in storage until the MVS task ends or the Language Environment environment is terminated.
  • Language Environment termination will not be driven unless a STOP RUN is executed to end the enclave. As a result:
    • Language Environment storage and runtime options reports are not produced by Language Environment.
    • COBOL files that were not closed by the COBOL program will not be closed by Language Environment, which can result in unpredictable data in the file (for example, records not being written, or the last record being written twice).

ANYHEAP
BELOWHEAP
HEAP
LIBSTACK
STACK

  These runtime options help you manage storage. For STACK, if any program in your application is running AMODE 24, specify the suboption BELOW (and also specify ALL31(OFF)). If all of the programs in your application are AMODE 31, specify the suboption ABOVE (and also specify ALL31(ON)). On COBOL, the recommended setting for STACK is 64K, 64K, BELOW, KEEP when you use ALL31(OFF) and 64K, 64K, ANY, KEEP when you use ALL31(ON).
TERMTHDACT TRACE

UADUMP
or
UATRACE

Use TERMTHDACT(UADUMP), TERMTHADACT(UATRACE), or TERMTHDACT(UAONLY) to receive a system dump under Language Environment when the environment is terminating due to a severe error (for example, a program check or abend). Alternatively, use an abnormal termination exit. See, Obtaining a system dump or a CICS transaction dump for details.
TRAP ON ON TRAP specifies how Language Environment routines handle abends and program checks. In order for applications to run successfully, you must specify TRAP(ON). TRAP(ON) also enables Language Environment to support the existing condition-handling mechanisms provided by both VS COBOL II (STAE runtime option) and OS/VS COBOL (STATE, FLOW, COUNT, and SYMDMP debugging options).

Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)