z/OS Language Environment Customization
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Modifying COBOL reusable environment behavior

z/OS Language Environment Customization
SA38-0685-00

The COBOL reusable environment behavior can be modified to control how program checks that occur in the non-Language Environment-conforming driver are handled, as well as to control whether COBOL programs can run in a nested enclave in the reusable environment. The COBOL reusable environment is established with the RTEREUS runtime option or a call to either ILBOSTPO or IGZERRE INIT.

With the IBM® supplied default setting for COBOL's reusable environment behavior (IGZERREO with REUSENV=COMPAT), when a program check occurs while the reusable environment is dormant (for example, between a GOBACK from a top-level COBOL program to the non-Language Environment conforming assembler driver and the next call to a COBOL program), a S0Cx abend will occur. This behavior is compatible with the VS COBOL II and OS/VS COBOL runtimes, but it significantly impacts the performance when an Enterprise COBOL for z/OS, COBOL for OS/390 & VM, or COBOL for MVS & VM program is invoked repeatedly in a COBOL reusable environment. The performance degradation is caused by Language Environment issuing an ESPIE RESET when the reusable environment becomes dormant and then an ESPIE SET upon reentering the reusable environment.

COBOL's reusable environment behavior can be modified (IGZERREO with REUSENV=OPT) so that all program checks will be intercepted by Language Environment, even those that occur while the reusable environment is dormant. In this case, a program check that occurs while the reusable environment is dormant will result in a 4036 abend from Language Environment. However, since Language Environment does not have to issue the ESPIE RESET and ESPIE SET between invocations of the COBOL program, this can be faster than using REUSENV=COMPAT.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014