Language elements that require change (quick reference)

Table 1 lists the language elements different in OS/VS COBOL and Enterprise COBOL. This table also lists conversion tools, if any, available to automate the conversion.
The language items listed below are described in detail throughout this section, and are classified and ordered according to the following categories:
  • OS/VS COBOL language elements requiring other products
  • OS/VS COBOL language elements not supported
  • OS/VS COBOL language elements implemented differently
  • Undocumented OS/VS COBOL extensions not supported
Table 1. Language element differences between OS/VS COBOL and Enterprise COBOL
Language element Conversion tool Page
Abbreviated combined relation conditions   Abbreviated combined relation conditions
ACCEPT statement   ACCEPT statement
ALPHABETIC class changes CCCA ALPHABETIC class changes
ALPHABET clause changes—ALPHABET key word CCCA ALPHABET clause changes
Area A, periods in CCCA Area A, periods in
Arithmetic statement changes   Arithmetic statement changes
ASSIGN . . . OR CCCA ASSIGN . . . OR
ASSIGN TO integer system-name CCCA ASSIGN TO
ASSIGN . . . FOR MULTIPLE REEL /UNIT CCCA ASSIGN . . . FOR MULTIPLE REEL /UNIT
ASSIGN clause changes—assignment-name forms CCCA ASSIGN clause changes
B symbol in PICTURE clause—changes in evaluation   B symbol in PICTURE clause
BDAM file handling CCCA* BDAM file handling
BLANK WHEN ZERO clause and asterisk (*) override   BLANK WHEN ZERO
CALL identifier statement—B symbol in PICTURE clause   CALL identifier statement
CALL statement changes—procedure names and file names in USING phrase   CALL statement changes
CANCEL statement—B symbol in PICTURE clause   CANCEL statement
CLOSE . . . FOR REMOVAL statement   CLOSE . . . FOR REMOVAL
CLOSE statement—WITH POSITIONING, DISP phrases CCCA CLOSE statement
Combined abbreviated relation condition changes CCCA Combined abbreviated relation condition changes
Comparing group to numeric packed-decimal item   Comparing group to numeric packed-decimal item
COPY statement with associated names CCCA COPY statement
Communication feature   Communication feature
CURRENCY-SIGN clause changes—'/', '=', and 'L' characters   CURRENCY-SIGN clause changes
CURRENT-DATE special register CCCA CURRENT-DATE special register
DIVIDE . . . ON SIZE ERROR—change in intermediate results   DIVIDE . . . ON SIZE ERROR
Dynamic CALL statements to programs with alternate entry points without an intervening CANCEL   Dynamic CALL statements with alternate entry points
EXAMINE statement CCCA EXAMINE statement
EXHIBIT statement CCCA EXHIBIT statement
EXIT PROGRAM/GOBACK statement changes   EXIT PROGRAM/GOBACK statement changes
FILE STATUS clause changes CCCA FILE STATUS clause changes
FILE-LIMIT clause of the FILE-CONTROL paragraph CCCA FILE-LIMIT clause of the FILE-CONTROL paragraph
Flow of control, no terminating statement   Flow of control
FOR MULTIPLE REEL/UNIT CCCA FOR MULTIPLE REEL/UNIT
GIVING phrase of USE AFTER STANDARD ERROR declarative CCCA GIVING phrase of USE AFTER STANDARD ERROR declarative
IF . . . OTHERWISE statement changes CCCA IF . . . OTHERWISE statement changes
Index names—nonunique   Index names
INSPECT statement—PROGRAM COLLATING SEQUENCE clause   INSPECT statement—PROGRAM COLLATING SEQUENCE clause
IS as an optional word   IS as an optional word
ISAM file handling CCCA ISAM file handling
JUSTIFIED clause changes CCCA JUSTIFIED clause changes
LABEL declaratives   LABEL declaratives
LABEL RECORDS clause with TOTALING/TOTALED AREA CCCA LABEL RECORDS clause with TOTALING/TOTALED AREA
LABEL RECORD IS statement   LABEL RECORD IS statement
MOVE statement—binary value and DISPLAY value   MOVE statement—binary value and DISPLAY value
MOVE statements and comparisons—scaling changes   MOVE statements and comparisons—scaling changes
MOVE CORRESPONDING statement CCCA MOVE CORRESPONDING statement
MOVE statement—multiple TO specification   MOVE statement—multiple TO specification
MOVE ALL—TO PIC 99   MOVE ALL—TO PIC 99
MOVE statement—warning message for numeric truncation   MOVE statement—warning message for numeric truncation
MULTIPLY ... ON SIZE ERROR—change in intermediate results   MULTIPLY ... ON SIZE ERROR
Nonunique program-ID names CCCA Nonunique program-ID names
NOTE statement CCCA NOTE statement
Numeric class test on group items   Numeric class test on group items
Numeric data changes   Numeric data changes
Numeric-editing changes (PICTURE clause)   Numeric-editing changes
OCCURS clause (order of phrases)   OCCURS clause
OCCURS DEPENDING ON—ASCENDING and DESCENDING KEY phrases   OCCURS DEPENDING ON—ASCENDING and DESCENDING KEY phrases
OCCURS DEPENDING ON—value for receiving items changed CCCA OCCURS DEPENDING ON—value for receiving items changed
ON statement CCCA ON statement
ON SIZE ERROR phrase—changes in intermediate results   ON SIZE ERROR phrase
OPEN statement failing for QSAM files (file status 39)   OPEN statement failing for QSAM files
OPEN statement failing for VSAM files (file status 39)   OPEN statement failing for VSAM files
OPEN statement with LEAVE, REREAD, and DISP phrases CCCA OPEN statement with LEAVE, REREAD, and DISP phrases
OPEN REVERSED statement   OPEN REVERSED statement
OTHERWISE clause changes   OTHERWISE clause changes
Paragraph names not allowed as parameters   Paragraph names not allowed as parameters
PERFORM statement—changes in the VARYING and AFTER phrases   PERFORM statement—changes in the VARYING and AFTER phrases
PERFORM statement—second UNTIL   PERFORM statement—second UNTIL
Periods, consecutive in any division   Periods, consecutive in any division
Periods in Area A CCCA Periods in Area A
Periods missing on paragraphs CCCA Periods missing on paragraphs
Periods missing at the end of SD, FD, or RD   Periods missing at the end of SD, FD, or RD
PICTURE clause (numeric-editing changes)   PICTURE clause (numeric-editing changes)
PROGRAM COLLATING SEQUENCE clause changes   PROGRAM COLLATING SEQUENCE clause changes
Program-ID names, nonunique CCCA Program-ID names, nonunique
Qualification - using the same phrase repeatedly   Qualification - using the same phrase repeatedly
READ statement - redefined record keys in the KEY phrase   READ statement - redefined record keys in the KEY phrase
READ and RETURN statement changes—INTO phrase   READ and RETURN statement changes—INTO phrase
READY TRACE and RESET TRACE statements CCCA READY TRACE and RESET TRACE statements
RECORD CONTAINS n CHARACTERS clause   RECORD CONTAINS n CHARACTERS clause
RECORD KEY phrase and ALTERNATE RECORD KEY phrase   RECORD KEY phrase and ALTERNATE RECORD KEY phrase
REDEFINES clause in SD or FD entries CCCA REDEFINES clause in SD or FD entries
REDEFINES clause with tables   REDEFINES clause with tables
Relation conditions CCCA Relation conditions
REMARKS paragraph CCCA REMARKS paragraph
RENAMES clause—nonunique, nonqualified data names   RENAMES clause
Report Writer statements Report Writer Precompiler Report Writer statements
RERUN clause changes   RERUN clause changes
RESERVE clause changes CCCA RESERVE clause changes
Reserved word list changes CCCA Reserved word list changes
SEARCH statement changes CCCA SEARCH statement changes
Segmentation changes—PERFORM statement in independent segments   Segmentation changes
SELECT statement without a corresponding FD   SELECT statement without a corresponding FD
SELECT OPTIONAL clause changes CCCA SELECT OPTIONAL clause changes
SORT special registers   SORT special registers
SORT statement   SORT statement
SORT or MERGE   SORT or MERGE
Source language debugging changes   Source language debugging changes
START . . . USING KEY statement CCCA START . . . USING KEY statement
STRING statement—PROGRAM COLLATING SEQUENCE clause   STRING statement—PROGRAM COLLATING SEQUENCE clause
STRING statement—sending field identifier   STRING statement—sending field identifier
Subscripts out of range—flagged at compile-time   Subscripts out of range
THEN as a statement connector CCCA THEN as a statement connector
TIME-OF-DAY special register CCCA TIME-OF-DAY special register
TOTALING/TOTALED AREA phrases in LABEL RECORDS clause CCCA TOTALING/TOTALED AREA phrases
TRANSFORM statement CCCA TRANSFORM statement
UNSTRING statement—PROGRAM COLLATING SEQUENCE clause   UNSTRING statement—PROGRAM COLLATING SEQUENCE clause
UNSTRING statement—coding with 'OR', 'IS', or a numeric edited item CCCA UNSTRING statement—coding with 'OR', 'IS', or a numeric edited item
UNSTRING statement—multiple INTO phrases   UNSTRING statement—multiple INTO phrases
UNSTRING statements—subscript evaluation changes   UNSTRING statements—subscript evaluation changes
UPSI switches CCCA UPSI switches
USE AFTER STANDARD ERROR—GIVING phrase CCCA USE AFTER STANDARD ERROR—GIVING phrase
USE BEFORE STANDARD LABEL statement CCCA USE BEFORE STANDARD LABEL statement
VALUE clause—signed value in relation to the PICTURE clause CCCA VALUE clause—signed value in relation to the PICTURE clause
VALUE clause—condition names CCCA VALUE clause—condition names
WHEN-COMPILED special register CCCA WHEN-COMPILED special register
WRITE AFTER POSITIONING statement CCCA WRITE AFTER POSITIONING statement
* This is a partial conversion for handling BDAM files.