Language Environment

Language Environment®, supplied as an element of z/OS®, is designed to provide a common set of runtime libraries to replace the native runtime libraries that were provided with older compilers such as VS COBOL II, OS PL/I and C/370™.

Before the introduction of Language Environment, each of the high-level languages (HLLs) had to provide a separate runtime environment. With Language Environment, you use one runtime environment for your applications, regardless of the programming language or system resource needs, because most system dependencies have been removed. This common environment offers two significant advantages:

  1. You can mix all the languages supported by CICS® in a single program.
  2. The same Language Environment callable services are available to all programs. This means, for example, that:

See the z/OS: Language Environment Concepts Guide for more information.

Because of these advantages, high-level language support under CICS depends upon Language Environment.

The CICS programming guidance documentation requires that your CICS system is using the services of Language Environment, which provides a common runtime environment for IBM® implementations of assembler and those high-level languages (HLLs) supported by CICS, namely COBOL, PL/I, C, and C++.

Start of changeCICS supports application programs compiled using most of the compilers that are supported by Language Environment. For a list of compilers that are supported in this release of CICS Transaction Server for z/OS, see the CICS Release Guide.End of change

Most of the compilers supported by CICS and Language Environment are Language Environment-conforming compilers, meaning that programs compiled by these compilers can take advantage of all Language Environment facilities in a CICS region. CICS and Language Environment also support programs compiled by some pre-Language Environment compilers (which are not Language Environment-conforming). However, CICS does not support all the pre-Language Environment compilers which are supported by Language Environment. The following pre-Language Environment compilers are supported by Language Environment, but are unsupported in this release of CICS:

The following pre-Language Environment compilers are supported by Language Environment and supported by CICS:

Note:
Start of change
Support for OS/VS COBOL programs is now withdrawn. These programs, which had runtime support in CICS Transaction Server for z/OS Version 2, cannot run under CICS Transaction Server for z/OS Version 3. OS/VS COBOL programs must be upgraded to a supported level of COBOL, and recompiled against a level of COBOL compiler supported by CICS.

See Appendix B. Migration for OS/VS COBOL programs for notes on converting OS/VS COBOL programs to Enterprise COBOL. The Enterprise COBOL for z/OS: Compiler and Run-Time Migration Guide has more detailed information about language differences, and describes facilities to help with conversion.

End of change

Applications compiled and linked with pre-Language Environment compilers usually execute successfully using the runtime support provided by Language Environment. They do not usually have to be recompiled or re-link-edited. In some circumstances, you might need to adjust Language Environment runtime options to enable these applications to execute correctly. Refer to the Language Environment Run-Time Application Migration Guide, and the Compiler and Run-Time Migration Guide for the language in use, for further information. Because these compilers are not Language Environment conforming, programs compiled by these compilers cannot take advantage of all Language Environment facilities in a CICS region.

The native runtime libraries provided with pre-Language Environment compilers are not supported. Language libraries, other than the Language Environment libraries, should not be present in your CICS startup JCL. If, perhaps for commonality with other CICS systems, the JCL for your CICS startup job includes other language libraries, the Language Environment libraries must be above all the other language libraries in the JCL concatenations of the CICS startup job for both STEPLIB and DFHRPL. This ensures that the programs are processed by Language Environment.

When modifying existing application programs, or writing new programs, you must use a compiler supported by Language Environment. This requires that your application programs must be link-edited using the Language Environment SCEELKED library, and this in turn means that the resulting application load module can execute only under Language Environment.

Start of changeCICS Transaction Server for z/OS Version 3 allows you to produce Language Environment-conforming assembler MAIN programs. For more information about assembler programs, see Programming in Assembler.End of change

[[ Contents Previous Page | Next Page Index ]]