COBOL reserved word comparison

The following table shows differences in reserved words between OS/VS COBOL, VS COBOL II, IBM® COBOL, and Enterprise COBOL.

Key:
X
The word is reserved in the product.
X*
Within the IBM COBOL column, the word is reserved in COBOL for OS/390® & VM, Version 2 Release 2 and later only. It is not reserved in Version 2 Release 1 or earlier.
X**
Within the Enterprise COBOL column, the word is reserved in Enterprise COBOL Version 4 Release 1 and later only. It is not reserved in Enterprise COBOL Version 3 or earlier.
X***
Within the Enterprise COBOL column, the word is reserved in Enterprise COBOL Version 4 Release 2 and later. It is not reserved in Enterprise COBOL Version 4 Release 1 or earlier.
X****
Within the Enterprise COBOL column, the word is reserved in Enterprise COBOL Version 5 Release 1. It is not reserved in Enterprise COBOL Version 4 Release 2 or earlier.
X*****
Within the Enterprise COBOL column, the word is reserved in Enterprise COBOL Version 5 Release 2. It is not reserved in Enterprise COBOL Version 5 Release 1 or earlier.
X******
Within the Enterprise COBOL column, the word is reserved in Enterprise COBOL Version 6 Release 1. It is not reserved in Enterprise COBOL Version 5 Release 2 or earlier.
Start of changeX*******End of change
Start of changeWithin the Enterprise COBOL column, the word is reserved in Enterprise COBOL Version 6 Release 2. It is not reserved in Enterprise COBOL Version 6 Release 1 or earlier.End of change
-
The word is not reserved in the product. (This includes obsolete reserved words that are no longer flagged.)
CDW
The word is an Enterprise COBOL compiler directing statement. If used as a user-defined word, it is flagged with a severe message.
RFD
The word is reserved for future development. If used, it is flagged with an informational message.
UNS
The word is a 85 COBOL Standard reserved word for a feature not supported by this compiler. For some of these words, the feature is supported by the Report Writer Precompiler. If used in a program, it is recognized as a reserved word and flagged with a severe message.
Table 1. Reserved word comparison
Reserved word Enterprise COBOL IBM COBOL VS COBOL II OS/VS COBOL
ACCEPT X X X X
ACCESS X X X X
ACTIVE-CLASS RFD - - -
ACTUAL - - - X
ADD X X X X
ADDRESS X X X X
ADVANCING X X X X
AFTER X X X X
ALIGNED RFD - - -
ALL X X X X
ALLOCATE1 X****** - - -
ALPHABET X X X -
ALPHABETIC X X X X
ALPHABETIC-LOWER X X X -
ALPHABETIC-UPPER X X X -
ALPHANUMERIC X X X -
ALPHANUMERIC-EDITED X X X -
ALSO X X X X
ALTER X X X X
ALTERNATE X X X X
AND X X X X
ANY X X X -
ANYCASE RFD - - -
APPLY X X X X
ARE X X X X
AREA X X X X
AREAS X X X X
ASCENDING X X X X
ASSIGN X X X X
AT X X X X
AUTHOR X X X X
AUTOMATIC RFD - - -
B-AND RFD RFD RFD -
B-NOT RFD RFD RFD -
B-OR RFD RFD RFD -
B-XOR RFD - - -
BASED RFD - - -
BASIS CDW CDW CDW X
BEFORE X X X X
BEGINNING X X X X
BINARY X X X -
BINARY-CHAR RFD - - -
BINARY-DOUBLE RFD - - -
BINARY-LONG RFD - - -
BINARY-SHORT RFD - - -
BIT RFD RFD RFD -
BLANK X X X X
BLOCK X X X X
BOOLEAN RFD RFD RFD -
BOTTOM X X X X
BY X X X X
CALL X X X X
CANCEL X X X X
CBL CDW CDW CDW X
CD UNS UNS UNS X
CF UNS UNS UNS X
CH UNS UNS UNS X
CHANGED - - - X
CHARACTER X X X X
CHARACTERS X X X X
CLASS X X X -
CLASS-ID X X - -
CLOCK-UNITS UNS UNS UNS -
CLOSE X X X X
COBOL X X X -
CODE X X X X
CODE-SET X X X X
COL RFD - - -
COLLATING X X X X
COLS RFD - - -
COLUMN UNS UNS UNS X
COLUMNS RFD - - -
COM-REG X X X -
COMMA X X X X
COMMON X X X -
COMMUNICATION UNS UNS UNS X
COMP X X X X
COMP-1 X X X X
COMP-2 X X X X
COMP-3 X X X X
COMP-4 X X X X
COMP-5 X X* RFD -
COMPUTATIONAL X X X X
COMPUTATIONAL-1 X X X X
COMPUTATIONAL-2 X X X X
COMPUTATIONAL-3 X X X X
COMPUTATIONAL-4 X X X X
COMPUTATIONAL-5 X X* RFD  
COMPUTE X X X X
CONDITION RFD - - -
CONFIGURATION X X X X
CONSOLE - - - X
CONSTANT RFD - - -
CONTAINS X X X X
CONTENT X X X -
CONTINUE X X X -
CONTROL UNS UNS UNS X
CONTROLS UNS UNS UNS X
CONVERTING X X X -
COPY CDW CDW CDW X
CORR X X X X
CORRESPONDING X X X X
COUNT X X X X
CRT RFD - - -
CSP - - - X
CURRENCY X X X X
CURRENT-DATE - - - X
CURSOR RFD - - -
C01 - - - X
C02 - - - X
C03 - - - X
C04 - - - X
C05 - - - X
C06 - - - X
C07 - - - X
C08 - - - X
C09 - - - X
C10 - - - X
C11 - - - X
C12 - - - X
DATA X X X X
DATA-POINTER RFD - - -
DATE X X X X
DATE-COMPILED X X X X
DATE-WRITTEN X X X X
DAY X X X X
DAY-OF-WEEK X X X -
DBCS X X X -
DE UNS UNS UNS X
DEBUG - - - X
DEBUG-CONTENTS X X X X
DEBUG-ITEM X X X X
DEBUG-LINE X X X X
DEBUG-NAME X X X X
DEBUG-SUB-1 X X X X
DEBUG-SUB-2 X X X X
DEBUG-SUB-3 X X X X
DEBUGGING X X X X
DECIMAL-POINT X X X X
DECLARATIVES X X X X
DEFAULT1 X****** RFD RFD -
DELETE X X X X
DELIMITED X X X X
DELIMITER X X X X
DEPENDING X X X X
DESCENDING X X X X
DESTINATION UNS UNS UNS X
DETAIL UNS UNS UNS X
DISABLE UNS UNS UNS X
DISP - - - X
DISPLAY X X X X
DISPLAY-ST - - - X
DISPLAY-1 X X X -
DIVIDE X X X X
DIVISION X X X X
DOWN X X X X
DUPLICATES X X X X
DYNAMIC X X X X
EC RFD - - -
EGCS X X X -
EGI UNS UNS UNS X
EJECT CDW CDW CDW X
ELSE X X X X
EMI UNS UNS UNS X
ENABLE UNS UNS UNS X
END X X X X
END-ACCEPT RFD - - -
END-ADD X X X -
END-CALL X X X -
END-COMPUTE X X X -
END-DELETE X X X -
END-DISPLAY RFD - - -
END-DIVIDE X X X -
END-EVALUATE X X X -
END-EXEC X X* - -
END-IF X X X -
END-INVOKE X X - -
END-JSON1 X******      
END-MULTIPLY X X X -
END-OF-PAGE X X X X
END-PERFORM X X X -
END-READ X X X -
END-RECEIVE UNS UNS UNS -
END-RETURN X X X -
END-REWRITE X X X -
END-SEARCH X X X -
END-START X X X -
END-STRING X X X -
END-SUBTRACT X X X -
END-UNSTRING X X X -
END-WRITE X X X -
END-XML1 X - - -
ENDING X X X X
ENTER X X X X
ENTRY X X X X
ENVIRONMENT X X X X
EO RFD - - -
EOP X X X X
EQUAL X X X X
ERROR X X X X
ESI UNS UNS UNS X
EVALUATE X X X -
EVERY X X X X
EXAMINE - - - X
EXCEPTION X X X X
EXCEPTION-OBJECT RFD - - -
EXEC X X* - -
EXECUTE X X* - -
EXHIBIT - - - X
EXIT X X X X
EXTEND X X X X
EXTERNAL X X X -
FACTORY X X* - -
FALSE X X X -
FD X X X X
FILE X X X X
FILE-CONTROL X X X X
FILE-LIMIT - - - X
FILE-LIMITS - - - X
FILLER X X X X
FINAL UNS UNS UNS X
FIRST X X X X
FLOAT-EXTENDED RFD - - -
FLOAT-LONG RFD - - -
FLOAT-SHORT RFD - - -
FOOTING X X X X
FOR X X X X
FORMAT RFD RFD RFD -
FREE1 X****** RFD RFD -
FROM X X X X
FUNCTION X X - -
FUNCTION-ID RFD - - -
FUNCTION-POINTER1 X - - -
GENERATE UNS UNS UNS X
GET RFD RFD RFD -
GIVING X X X X
GLOBAL X X X -
GO X X X X
GOBACK X X X X
GREATER X X X X
GROUP UNS UNS UNS X
GROUP-USAGE1 X - - -
HEADING UNS UNS UNS X
HIGH-VALUE X X X X
HIGH-VALUES X X X X
I-O X X X X
I-O-CONTROL X X X X
ID X X X X
IDENTIFICATION X X X X
IF X X X X
IN X X X X
INDEX X X X X
INDEXED X X X X
INDICATE UNS UNS UNS X
INHERITS X X - -
INITIAL X X X X
INITIALIZE X X X -
INITIATE UNS UNS UNS X
INPUT X X X X
INPUT-OUTPUT X X X X
INSERT CDW CDW CDW X
INSPECT X X X X
INSTALLATION X X X X
INTERFACE RFD - - -
INTERFACE-ID RFD - - -
INTO X X X X
INVALID X X X X
INVOKE X X - -
IS X X X X
JNIENVPTR1 X - - -
JSON1 X******      
JSON-CODE1 X******      
Start of changeJSON-STATUS1End of change Start of changeX*******End of change Start of change End of change Start of change End of change Start of change End of change
JUST X X X X
JUSTIFIED X X X X
KANJI X X X -
KEY X X X X
LABEL X X X X
LAST UNS UNS UNS X
LEADING X X X X
LEAVE - - - X
LEFT X X X X
LENGTH X X X X
LESS X X X X
LIMIT UNS UNS UNS X
LIMITS UNS UNS UNS X
LINAGE X X X X
LINAGE-COUNTER X X X -
LINE X X X X
LINE-COUNTER UNS UNS UNS X
LINES X X X X
LINKAGE X X X X
LOCAL-STORAGE X X - -
LOCALE RFD - - -
LOCK X X X X
LOW-VALUE X X X X
LOW-VALUES X X X X
MEMORY X X X X
MERGE X X X X
MESSAGE UNS UNS UNS X
METACLASS - X - -
METHOD X X - -
METHOD-ID X X - -
MINUS RFD - - -
MODE X X X X
MODULES X X X X
MORE-LABELS X X X X
MOVE X X X X
MULTIPLE X X X X
MULTIPLY X X X X
NAMED - - - X
NATIONAL1 X - - -
NATIONAL-EDITED1 X - - -
NATIVE X X X X
NEGATIVE X X X X
NESTED RFD - - -
NEXT X X X X
NO X X X X
NOMINAL - - - X
NOT X X X X
NOTE - - - X
NULL X X X -
NULLS X X X -
NUMBER UNS UNS UNS X
NUMERIC X X X X
NUMERIC-EDITED X X X -
OBJECT X X - -
OBJECT-COMPUTER X X X X
OBJECT-REFERENCE RFD - - -
OCCURS X X X X
OF X X X X
OFF X X X X
OMITTED X X X X
ON X X X X
OPEN X X X X
OPTIONAL X X X X
OPTIONS RFD - - -
OR X X X X
ORDER X X X -
ORGANIZATION X X X X
OTHER X X X -
OTHERWISE - - - X
OUTPUT X X X X
OVERFLOW X X X X
OVERRIDE X X - -
PACKED-DECIMAL X X X -
PADDING X X X -
PAGE X X X X
PAGE-COUNTER UNS UNS UNS X
PASSWORD X X X X
PERFORM X X X X
PF UNS UNS UNS X
PH UNS UNS UNS X
PIC X X X X
PICTURE X X X X
PLUS UNS UNS UNS X
POINTER X X X X
POSITION X X X X
POSITIONING - - - X
POSITIVE X X X X
PRESENT RFD RFD RFD -
PREVIOUS RFD RFD - -
PRINT-SWITCH - - - X
PRINTING UNS UNS UNS -
PROCEDURE X X X X
PROCEDURE-POINTER X X - -
PROCEDURES X X X X
PROCEED X X X X
PROCESSING X X X X
PROGRAM X X X X
PROGRAM-ID X X X X
PROGRAM-POINTER RFD - - -
PROPERTY RFD - - -
PROTOTYPE RFD - - -
PURGE UNS UNS UNS -
QUEUE UNS UNS UNS X
QUOTE X X X X
QUOTES X X X X
RAISE RFD - - -
RAISING RFD - - -
RANDOM X X X X
RD UNS UNS UNS X
READ X X X X
READY X X X X
RECEIVE UNS UNS UNS X
RECORD X X X X
RECORD-OVERFLOW - - - X
RECORDING X X X X
RECORDS X X X X
RECURSIVE X X - -
REDEFINES X X X X
REEL X X X X
REFERENCE X X X -
REFERENCES X X X X
RELATIVE X X X X
RELEASE X X X X
RELOAD X X X X
REMAINDER X X X X
REMARKS - - - X
REMOVAL X X X X
RENAMES X X X X
REORG-CRITERIA - - - X
REPLACE X X X -
REPLACING X X X X
REPORT UNS UNS UNS X
REPORTING UNS UNS UNS X
REPORTS UNS UNS UNS X
REPOSITORY X X - -
REREAD - - - X
RERUN X X X X
RESERVE X X X X
RESET X X X X
RESUME RFD - - -
RETRY RFD - - -
RETURN X X X X
RETURN-CODE X X X X
RETURNING X X - -
REVERSED X X X X
REWIND X X X X
REWRITE X X X X
RF UNS UNS UNS X
RH UNS UNS UNS X
RIGHT X X X X
ROUNDED X X X X
RUN X X X X
SAME X X X X
SCREEN RFD - - -
SD X X X X
SEARCH X X X X
SECTION X X X X
SECURITY X X X X
SEEK - - - X
SEGMENT UNS UNS UNS X
SEGMENT-LIMIT X X X X
SELECT X X X X
SELECTIVE - - - X
SELF X X - -
SEND UNS UNS UNS X
SENTENCE X X X X
SEPARATE X X X X
SEQUENCE X X X X
SEQUENTIAL X X X X
SERVICE X X X X
SET X X X X
SHARING RFD - - -
SHIFT-IN X X X -
SHIFT-OUT X X X -
SIGN X X X X
SIZE X X X X
SKIP1 CDW CDW CDW X
SKIP2 CDW CDW CDW X
SKIP3 CDW CDW CDW X
SORT X X X X
SORT-CONTROL X X X -
SORT-CORE-SIZE X X X X
SORT-FILE-SIZE X X X X
SORT-MERGE X X X X
SORT-MESSAGE X X X X
SORT-MODE-SIZE X X X X
SORT-RETURN X X X X
SOURCE UNS UNS UNS X
SOURCE-COMPUTER X X X X
SOURCES RFD - - -
SPACE X X X X
SPACES X X X X
SPECIAL-NAMES X X X X
SQL X X* - -
STANDARD X X X X
STANDARD-1 X X X X
STANDARD-2 X X X -
START X X X X
STATUS X X X X
STOP X X X X
STRING X X X X
SUB-QUEUE-1 UNS UNS UNS X
SUB-QUEUE-2 UNS UNS UNS X
SUB-QUEUE-3 UNS UNS UNS X
SUB-SCHEMA RFD RFD RFD -
SUBTRACT X X X X
SUM UNS UNS UNS X
SUPER X X - -
SUPPRESS X X X X
SYMBOLIC X X X X
SYNC X X X X
SYNCHRONIZED X X X X
SYSIN - - - X
SYSLIST - - - X
SYSOUT - - - X
SYSPUNCH X X X X
SYSTEM-DEFAULT RFD - - -
S01 - - - X
S02 - - - X
TABLE UNS UNS UNS X
TALLY X X X X
TALLYING X X X X
TAPE X X X X
TERMINAL UNS UNS UNS X
TERMINATE UNS UNS UNS X
TEST X X X -
TEXT UNS UNS UNS X
THAN X X X X
THEN X X X X
THROUGH X X X X
THRU X X X X
TIME X X X X
TIME-OF-DAY - - - X
TIMES X X X X
TITLE CDW CDW CDW -
TO X X X X
TOP X X X X
TOTALED - - - X
TOTALING - - - X
TRACE X X X X
TRACK-AREA - - - X
TRACK-LIMIT - - - X
TRACKS - - - X
TRAILING X X X X
TRANSFORM - - - X
TRUE X X X -
TYPE X X* - -
TYPEDEF RFD - - -
UNIT X X X X
UNIVERSAL RFD - - -
UNLOCK RFD - - -
UNSTRING X X X X
UNTIL X X X X
UP X X X X
UPDATE RFD RFD RFD -
UPON X X X X
UPSI-0 - - - X
UPSI-1 - - - X
UPSI-2 - - - X
UPSI-3 - - - X
UPSI-4 - - - X
UPSI-5 - - - X
UPSI-6 - - - X
UPSI-7 - - - X
USAGE X X X X
USE X X X X
USER-DEFAULT RFD - - -
USING X X X X
VAL-STATUS RFD - - -
VALID RFD RFD RFD -
VALIDATE RFD RFD RFD -
VALIDATE-STATUS RFD - - -
VALUE X X X X
VALUES X X X X
VARYING X X X X
VOLATILE1 X***** - - -
WHEN X X X X
WHEN-COMPILED X X X X
WITH X X X X
WORDS X X X X
WORKING-STORAGE X X X X
WRITE X X X X
WRITE-ONLY X X X X
XML1 X - - -
XML-CODE1 X - - -
XML-EVENT1 X - - -
XML-INFORMATION1 X*** - - -
XML-NAMESPACE1 X** - - -
XML-NAMESPACE-PREFIX1 X** - - -
XML-NNAMESPACE1 X** - - -
XML-NNAMESPACE-PREFIX1 X** - - -
XML-NTEXT1 X - - -
XML-SCHEMA1 X*** - - -
XML-TEXT1 X - - -
ZERO X X X X
ZEROES X X X X
ZEROS X X X X
_ X*** - - -
< X X X X
<> RFD      
<= X X X -
+ X X X X
* X X X X
** X X X X
- X X X X
/ X X X X
> X X X X
>= X X X -
= X X X X
*>1 X**** - - -
:: RFD      
Note:
  1. This is a new reserved word that has been added since IBM COBOL.