LE runtime option RTEREUS(ON) and Endevor exits and API callers
search cancel

LE runtime option RTEREUS(ON) and Endevor exits and API callers

book

Article ID: 26835

calendar_today

Updated On:

Products

Endevor Endevor Natural Integration Endevor - ECLIPSE Plugin Endevor - Enterprise Workbench CA 2E

Issue/Introduction

Language environment abends (U40xx), out of storage conditions or other unpredictable errors.

Environment

Running Endevor user exits or programs calling Endevor API which:

- Are written in COBOL
- Execute with Language Environment (LE) runtime option RTEREUS(ON)

Cause

The RTEREUS(ON) option causes Language Environment COBOL enclaves to be initialized as reusable. This is normally done to improve performance when a COBOL program is repeatedly called by a non-LE program by removing the overhead of initializing and terminating the runtime environment at each call.

When used with endevor exits or programs that call the endevor API, chances are that the environment falls into some of the restrictions that apply to the RTEREUS option. For example:

- Many different programs invoked in a single run exhausting storage due to the reusable environments being left behind.

- Programs called at different task levels (for example, an user exit or a processor step program calling endevor API which in turn results in the exit being called again) may lead to LE abends due to improper reuse of the environment.

Resolution

Do NOT use RTEREUS(ON) as a default setting (note that IBM also recommends it)

If planning to set it to ON in any case, carefully consider the conditions under which each of your COBOL routines will be called. Also TEST IT CAREFULLY

If COBOL performance is an issue, consider using LE preinitialization (CEEPIPI service) instead of RTEREUS.

Additional Information

z/OS 2.2 Language Environment Programming Guide

z/OS 2.2 Language Environment Programming Reference