Derivation: Run Time Environment REUSe
RTEREUS implicitly initializes the runtime environment
to be reusable when the main program for the thread is a COBOL program.
This option is valid only when specified at the system level, region
level, in a CEEUOPT, or in the CEEBXITA assembler user exit.
The default value for non-CICS
applications is NORTEREUS.
RTEREUS is ignored under CICS®.
Syntax
.-NORTEREUS-.
>>-+-RTEREUS---+-----------------------------------------------><
- NORTEREUS
- Does not initialize the runtime environment to be reusable when
the first COBOL program is invoked.
- RTEREUS
- Initializes the runtime environment to be reusable when the first
COBOL program is invoked.
Usage notes
- Restriction: Enterprise COBOL programs
compiled with the THREAD compiler option do not run with RTEREUS(ON).
- Guideline: Avoid using RTEREUS(ON) as a system-level
or region-level default. If you do use RTEREUS, use it for specific
applications only.
- 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 create
multiple enclaves will terminate with error message IGZ0168S. Multiple
enclaves can be created by applications that use SVC LINK or CMSCALL
to invoke application 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), any attempts to run a
C or PL/I main program under Language Environmentt 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 fails.
- If a large number of COBOL programs run (using RTEREUS) under
the same MVS™ task, you can encounter
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 storage
and runtime options reports are not produced by Language Environment (using
RTEREUS) unless a STOP RUN is issued to end the enclave.
- IMS™ consideration—RTEREUS
is not recommended for use under IMS.
- The IGZERREO CSECT affects the handling of program checks in the
non-Language Environment-enabled
driver that repeatedly invokes COBOL programs. It also affects the
behavior of running COBOL programs in a nested enclave when a reusable
environment is active.
Performance consideration
- You must change STOP RUN statements to GOBACK statements to gain
the benefits of RTEREUS. STOP RUN terminates the reusable environment.
If you specify RTEREUS and use STOP RUN, Language Environment recreates
the reusable environment on the next invocation of COBOL. Doing this
repeatedly degrades performance, because a reusable environment takes
longer to create than does a normal environment.
- The IGZERREO CSECT affects the performance of running with RTEREUS.
- Language Environment also
offers preinitialization support in addition to RTEREUS.