Downward compatibility considerations

As of OS/390® Version 2 Release 10, Language Environment provides downward compatibility support. Assuming that required programming guidelines and restrictions are observed, this support enables programmers to develop applications on higher release levels of the operating system, for deployment on execution platforms that are running lower release levels of the operating system. For example, you may use OS/390 V2R10 or later (and Language Environment) on a development system where applications are coded, link edited, and tested, while using any supported lower release of OS/390 (and Language Environment) on their production systems where the finished application modules are deployed.

Downward compatibility support is not the roll-back of new function to prior releases of the operating system. Applications developed exploiting the downward compatibility support must not use Language Environment function that is unavailable on the lower release of the operating system where the application will be deployed. The downward compatibility support includes toleration PTFs for lower releases of the operating system (specific PTF numbers can be found in the PSP buckets), to assist in diagnosis of applications that violate the programming requirements for this support.

The downward compatibility support provided by OS/390 V2R10 and later, and by the toleration PTFs, does not change Language Environment's upward compatibility. That is, applications coded and link-edited with one release of Language Environment will continue to execute on later releases of Language Environment, without a need to recompile or relink-edit the application, independent of the downward compatibility support.

The application requirements and programming guidelines for downward compatibility are:
The term "Language Environment function" used in the discussion of downward compatibility support refers to:

The compiler products that support development of downward compatible applications are listed in the table below, along with their prerequisite minimum release level of the operating system. (Prior releases of the compilers beyond those listed in the table are still supported by Language Environment, but do not provide downward compatibility. They only support upward compatibility.)

Table 1. Prerequisite OS/390 release level for the various compilers that support downward compatibility
Compiler product OS/390 release level prerequisite
Enterprise COBOL for z/OS OS/390 V2R10
COBOL for MVS™ & VM, V1R2 OS/390 V2R6
COBOL for OS/390 & VM, V2R1 OS/390 V2R6
COBOL for OS/390 & VM, V2R2 OS/390 V2R6
PL/I for MVS & VM OS/390 V2R6
OS PL/I 2.3 OS/390 V2R6
OS/390 C/C++ compiler OS/390 V2R10
VS Fortran 2.6 OS/390 V2R6
The diagnosis assistance that will be provided by the toleration PTFs includes: