Language Environment Support

In this section:

IBM's Dynamic Language Environment (LE) enables you to use a common run-time environment for all LE-supported high-level languages (HLLs). IBM LE is required in order to run FOCUS.


Top of page

x
Improving VM (OS-Bridge) Performance

Starting in FOCUS Version 7.2, Information Builders required the use of the IBM Language Environment (LE). Specifically, access to an LE runtime library named SCEERUN LOADLIB is required.

FOCUS customers who access several OS formatted disks prior in the search order to the SCEERUN LOADLIB may experience a slowdown in the startup of FOCUS and delays in the processing of requests. For example:

In this scenario, the disk containing the SCEERUN LOADLIB is accessed at a filemode higher in the CMS search order than the last OS disk (filemode P). This causes an elongated search through all the OS disks in order to find the SCEERUN LOADLIB.

Update your installation's procedures to access the SCEERUN LOADLIB before the OS disks as follows:

  1. The recommended method is to access a subset of files from the disk containing SCEERUN LOADLIB (normally the Y disk) as an extension of filemode A. In the following example, filemode z represents an unused filemode at your installation:
    ACCESS 19E z/A * LOADLIB
  2. An alternate method is to copy the LOADLIB from the Y-disk (or disk containing SCEERUN LOADLIB) to a separate minidisk and access it in the search order before the first OS formatted disk, for example as filemode B.

    Note: This approach may introduce a future maintenance concern because of the possibility of having two different versions of SCEERUN LOADLIB.


Top of page

x
LE Preinitialization Facilities

From a non-LE-conforming driver (such as FOCUS), you can use LE preinitialization facilities to create and initialize a common run-time environment, execute applications written in an LE-conforming HLL multiple times within the preinitialized environment, and terminate the preinitialized environment. FOCUS utilizes the CEEPIPI preinitialized interface to perform these tasks.

In the preinitialized environment, FOCUS provides support for executing subroutines multiple times.

Language Environment preinitialization is commonly used to enhance performance for repeated invocations of an application or for a complex application with many repetitive requests where fast response is required. For example, if FOCUS invokes an HLL subroutine a number of times, the creation and termination of that HLL environment multiple times is needlessly inefficient. A more efficient method is to create the HLL environment only once for use by all invocations of the routine.

The IBMLE parameter controls preinitialization for calls to subroutines from FOCUS. The following table summarizes FOCUS preinitialization support for user-written subroutines:

HLL

Preinitialization Supported?

Preinitialization Interface

IBMLE Setting

C

Yes

C assembler interface. Calls to the subroutine use a special extended parameter list.

ON

C++

No

OFF

COBOL

Yes

The COBOL run-time option RTEREUS(ON) is the recommended preinitialization interface for COBOL subroutines. This interface requires IBMLE=OFF.

OFF

FOCUS can also accommodate LE compliant COBOL subroutines with IBMLE=ON if required by site characteristics or restrictions.

RTEREUS preinitialization and CEEPIPI preinitialization are mutually exclusive for FOCUS subroutines and cannot be used simultaneously. If used simultaneously, unpredictable results will occur.

ON

FORTRAN

No

OFF

PL/I

Yes

PL/I for MVS & VM-defined preinitialization interfaces with calls to CEESTART or PLISTART with a special extended parameter list.

Preinitialization services do not support PL/I multitasking applications.

ON

For more information regarding the IBM Language Environment see IBM's OS/390 V2R10.0 Language Environment for OS/390 & VM Programming Guide, Document Number: SC28-1939-09.


Information Builders