IBM Language Environment Considerations

This document describes the IBM language environment considerations.

This document covers the following topics:


Saving Thread Storage

When using IBM Language Environment with programs running in Com-plete on z/OS, ensure that you have SYSPARM AUTORESIDENT=YES set or defaulted. Most of the LE runtime modules are reentrant, so they will be loaded RESIDENT and can be shared by all threads. Application programs should also be built with the RENT attribute.

The IBM Language Environment runtime tends to require approx. 200 Kbytes of working storage in the Com-plete thread below the 16 MB line when the default LE runtime options are in effect. For most applications, this size can be reduced significantly by explicitly changing some of the LE runtime options. Successful tests have been run in threads with just 50 Kbytes below the line for many COBOL programs with the following runtime options in effect (set in SYSPARM LEPIPI-RUNTIME-OPTS):

ALL31=(ON),
BELOWHEAP=(1K,4K,FREE),
NONONIPTSTACK=(4K,4K,ANYWHERE,KEEP),
STACK=(32K,32K,ANYWHERE,KEEP), 
STORAGE=(00,NONE,00,8K)

Similar options exist for other programming languages in the IBM Language Environment. For more information, please refer to the appropriate IBM documentation. While these settings are likely to work for other applications as well, Software AG cannot guarantee that your applications will run correctly with the same options or in the same thread size. In any case, the resulting thread region size required for each application must be set accordingly in ULIB.

Receiving IBM Language Environment Runtime Messages and Dumps

Each user can choose from three different ways to handle SYSOUT output. The choice is defined by means of the Com-plete user's hardcopy destination:

  1. If the hardcopy destination is the name of an existing printer, the output is routed to this printer.

  2. If the hardcopy destination is a dummy printer (any name which is not the name of any printer in the network), the output remains in Com-plete's spool file and can be viewed and/or selectively printed using USPOOL. Make sure you have a big spool file and/or specify a short printout expiration time if you choose this option.

  3. If a user has no hardcopy destination defined, his output is routed to his terminal after termination of the application.

Under certain circumstances, like abnormal program termination while running with STAE / TRAP(ON) option, IBM Language Environment provides additional problem related information which it tries to write to a file described by DD/DLBL name CEEDUMP.

To get this information when running under Com-plete, add the DD/DLBL name CEEDUMP to the source module ULSODDT1 and re-assemble this module. CEEDUMP output will then be handled for each user individually, in the same way and at the same destination as standard SYSOUT output.

z/VSE only:

LE/z/VSE programs can only run in a THREAD-GROUP running in the partition key:

THREAD-GROUP=(aaa,(bbb,nnn,nn,nn,nn,N))