Subtle and not so Subtle Differences
Some action can be required for existing applications:
- Some OS/VS COBOL applications can be executed without change.
However, it is necessary to recompile the COBOL parts for a mixed COBOL-PL/I application.
- SCEESAMP contains link-edit JCL to remove older versions of library modules so that the application can be relinked with LE. This may resolve
some problems. It is necessary to do this for programs compiled with
older versions of the PL/I compiler or for a mixed PL/I-FORTRAN application.
- Important note: There is a problem with older versions ofthe PL/I DATE builtin function. You can find more information at
this page.
- Refer to this page for more information about migrating to Language Environment.
Some differences that might not be obvious include:
- LE does not manage dynamic storage in the same way as earlier runtime
environments. Coding problems such as failure to initialize variables may
surface when an application is relinked with LE. This can often be
circumvented using the STORAGE run-time option. There is some overhead
associated with this circumvention.
- Initialization problems related to increased virtual storage use.
Simply increasing the REGION will make this type of problem go away.
- Because LE combines run-time services for compiler products which previously
had their own separate run-time libraries, some choices had to be made.
For example, the message file output is provided through common LE
services. This may result in a different DDNAME being used for some
compiler products.
- Some problems may surface in mixed language environments. For example,
in a mixed C and PL/I environment, some conditions that were previously
suppressed in hardware may be handled via software error recovery.
- Choose the default settings for run-time parameters carefully.
See the
z/OS Language Environment Setup & Customization (PDF format).