Our system is migrated to some latest version of OS390. The latest one is not supporting pgms with CMPR2 Options. so we have to migrate all the pgms with CMPR2 to NOCMPR2. We would like to know what are major code changes required for this. For example, with nocmpr2, variable length files needs to be properly defined with its length.
Enterprise COBOL provides COBOL 85 Standard support whereas VS COBOL II Release 2 provided COBOL 74 Standard support (with some 85 Standard features added in). The
implementation of the COBOL 85 Standard caused some language elements to behave in a manner that differs from the implementation of the COBOL 74 Standard.
Beginning with VS COBOL II Release 3.0, you could choose COBOL 85 Standard behavior (without the Intrinsic Function module) by using NOCMPR2, or the COBOL 74 Standard
behavior by using the CMPR2 compiler option. The CMPR2 option provided COBOL 74 Standard behavior as implemented by VS COBOL II Release 2, as well as nonstandard Release 2
extensions now implemented in the COBOL 85 Standard. The NOCMPR2 option provided COBOL 85 Standard-conforming behavior and IBM extensions. This same mechanism was
provided by IBM COBOL as an aid to allow delaying the upgrade from VS COBOL II Release 2 level code to COBOL 85 Standard level code. In Enterprise COBOL, this delay is no longer
available. Programs must be at the COBOL 85 Standard level to compile with Enterprise COBOL.
When referring to VS COBOL II Release 3 or later and IBM COBOL, the following terms have been defined:
We use CMPR2 to refer to the language and behavior of programs compiled and run with:
VS COBOL II Release 2
VS COBOL II Release 3 or 4 with the CMPR2 compiler option
IBM COBOL with the CMPR2 compiler option.
We use NOCMPR2 to refer to the language and behavior of programs compiled and run with:
VS COBOL II Release 3 or 4 with the NOCMPR2 compiler option
IBM COBOL with the NOCMPR2 compiler option
We use FLAGMIG to refer to the use of a pre-Enterprise COBOL compiler (VS COBOL II or IBM COBOL) that supports the CMPR2 and FLAGMIG options.
Note: To aid you with migration to Enterprise COBOL, use a previous COBOL compiler that supports FLAGMIG and CMPR2 to flag the statements that need to be converted.
The language elements listed below are affected by the CMPR2/NOCMPR2 compiler option. The differences are explained in the sections that follow.
ALPHABET clause of the SPECIAL-NAMES paragraph
CALL . . . ON OVERFLOW
Comparisons between scaled integers and nonnumerics
COPY ... REPLACING statements using non-COBOL characters
COPY statement using national extension characters
File status codes
Implicit EXIT PROGRAM
PERFORM return mechanism
PERFORM ... VARYING ... AFTER
PICTURE clause with "A"s and "B"s
PROGRAM COLLATING SEQUENCE
READ INTO and RETURN INTO
RECORD CONTAINS n CHARACTERS
SET . . . TO TRUE
SIZE ERROR on MULTIPLY and DIVIDE
UNSTRING operand evaluation
Variable-length group moves