Considerations for IBM Language Environment (LE)

What Is IBM Language Environment (LE)?
idmscu
What Is IBM Language Environment (LE)?
LE is a runtime environment that replaces the language-specific runtime environments that existed previously. For example, PL/I had its own runtime environment; COBOL II had another. CA IDMS can execute programs that are designed to use the LE runtime environment. It can also execute programs compiled with pre-LE compilers that use the LE runtime environment. This section only applies to runtime support in CA IDMS/DC. It does not apply to batch or CICS programs that access CA IDMS.
Language Environment has had several names for different operating systems and release levels. The term "LE" will be used in this document to refer to the any of the following unless otherwise noted:
  • LE/370
  • LE for z/OS and z/VM
  • LE for z/VSE
How Can You Use LE with CA IDMS/DC?
To execute online programs using the LE runtime libraries, follow these steps to bring up your CA IDMS environment:
  1. Ensure that the CA IDMS system has been generated with a 24-bit reentrant pool that is large enough to contain the IBM-supplied LE application program interface module CEEPIPI. The size of this module is approximately 100K.
  2. Ensure that the CA IDMS system has been generated with an XA reentrant pool that is large enough to maintain residence for several IBM-supplied LE support modules. Allow 1 megabyte for these programs.
  3. Include the LE runtime load libraries in the CDMSLIB loadlib concatenation before any other IBM language loadlibs that you are using.
Running Pre-LE Programs
There are restrictions that apply when you run pre-LE programs under LE runtime within CA IDMS/DC. Pre-LE programs are programs that were compiled with a non-LE compliant compiler, such as PL/I Release 2.3.
Some of these restrictions are already documented elsewhere in the DML Reference manuals. Additional restrictions for LE are:
  • Programs compiled under PL/I Release 2.3 and earlier must run without storage protection.
The IBM LE support module CEEPIPI must be loaded once before any PL/I program is run. This is most easily done by defining CEEPIPI as RESIDENT in the CA IDMS/DC sysgen using the following 
Syntax
:
ADD PROGRAM CEEPIPI CONCURRENT ENABLED LANGUAGE ASSEMBLER NONOVERLABYABLE PROGRAM PROTECT REENTRANT RESIDENT REUSABLE.
  • Restrictions mentioned in the IBM documentation apply.
 
Note:
 Running pre-LE programs with LE runtime can degrade performance in some circumstances. If you notice poor performance you should consider recompiling the programs with the newer compiler.
Running LE Programs
LE programs are programs that were compiled with a LE-compliant compiler. CA IDMS/DC supports these LE-compliant compilers:
  • PL/I for z/VM
  • PL/I for z/OS
For convenience, PL/I programs compiled with an LE-compliant compiler are referred to as "LE PL/I" programs below.