File Structure Support Tables

Table 1 lists the required and optional entries for various types of file structures supported. Any file with a device type of disk can be assigned to a database or non-database auxiliary storage file. The codes used are as follows:
.
Not applicable
B
Optional for a work station that supports subfiles
C
Optional entry, treated as comments only
D
Optional for file assigned to DATABASE-, not allowed if not assigned to a database file
I
Optional for a file opened for input or input-output
J
Optional for a file opened for input-output
O
Optional
R
Required
S
Required for a work station that supports subfiles
X
Required; syntax checked, but treated as documentation

Table 2 and Table 1 contain status key values and their meanings.

Table 1. File Structure Support
Device Type Printer Tape DiskSeq Disk Rel Seq Disk Rel Random Disk Rel Dynamic Disk IDX Seq Disk IDX Random Disk IDX Dynamic Workstation Diskette Format File
Environment Division
RERUN...RECORDS C C C C C C C C C C C C
SAME O O O O O O O O O O O O
     AREA C C C C C C C C C C C C
     RECORD AREA O O O O O O O O O O O O
     SORT AREA . C C . . . . . . . . .
     SORT MERGE AREA . C C . . . . . . . . .
MULTIPLE FILE TAPE . C . . . . . . . . . .
COMMITMENT CONTROL . . D D D D D D D . . .
SELECT R R R R R R R R R R R R
     ASSIGN R R R R R R R R R R R R
     OPTIONAL . . I I I I . . . . . .
     ORGANIZATION O O O R R R R R R R O O
          SEQUENTIAL O O O . . . . . . . O O
          RELATIVE . . . R R R . . . . . .
          INDEXED . . . . . . R R R . . .
          TRANSACTION . . . . . . . . . R . .
     ACCESS O O O O R R O R R O O O
          SEQUENTIAL O O O O . . O . . O O O
          RANDOM . . . . R . . R . . . .
          DYNAMIC . . . . . R . . R S . .
     RESERVE C C C C C C C C C . C C
     RELATIVE KEY . . . O R R . . . S . .
     RECORD KEY . . . . . . R R R . . .
     DUPLICATES . . . . . . D D D . . .
     FILE STATUS O O O O O O O O O O O O
     CONTROL-AREA . . . . . . . . . O . .
Data Division
LABEL RECORDS X R X X X X X X X X X X
     STANDARD . O R R R R R R R O R R
     OMITTED R O . . . . . . . O . .
VALUE OF C C C C C C C C C C C C
BLOCK CONTAINS O O O O O O O O O O O O
RECORD CONTAINS O O O O O O O O O O O O
DATA RECORDS O O O O O O O O O O O O
CODE-SET . O . . . . . . . . O .
LINAGE O . . . . . . . . . . .
Procedure Division
OPEN R R R R R R R R R R R R
     INPUT . O O O O O O O O . O .
     OUTPUT R O O O O O O O O . O O
     I-O . . O O O O O O O R . .
          NO REWIND . I . . . . . . . . . .
     REVERSED . I . . . . . . . . . .
     EXTEND . O O . . . . . . . . O
CLOSE R R R R R R R R R R R R
     REEL/UNIT . O . . . . . . . . . .
          REMOVAL . O . . . . . . . . . .
          NO REWIND . O . . . . . . . . . .
     NO REWIND . O . . . . . . . . . .
     WITH LOCK O O O O O O O O O O O O
READ . I I I I I I I I I I .
     NEXT . . . . . I . . I . . .
     FIRST . . . . . . . . D . . .
     LAST . . . . . . . . D . . .
     PRIOR . . . . . . . . D . . .
     INTO . I I I I I I I I I I .
     WITH NO LOCK . . J J J J J J J . . .
     KEY IS . . . . . . . I I . . .
     AT END . I I I . I I . I I I .
     NOT AT END . I I I . I I . I I I .
     INVALID KEY . . . . I I . I I B . .
     NOT INVALID KEY . . . . I I . I I B . .
     FORMAT . . D . . . D D D J . R
     NULL-KEY-MAP . . . . . . D D D . . .
     NULL-MAP . . D D D D D D D . . .
     NEXT MODIFIED . . . . . . . . . B . .
     SUBFILE . . . . . . . . . B . .
     INDICATORS . . . . . . . . . J . .
     TERMINAL . . . . . . . . . O . .
     NO DATA . . . . . . . . . O . .
WRITE O O O O O O O O O O O O
     FROM O O O O O O O O O O O O
     INVALID KEY . . . O O O O O O B . .
     NOT INVALID KEY . . . O O O O O O B . .
     ADVANCING O . . . . . . . . . . .
     AT END-OF-PAGE O . . . . . . . . . . .
     NOT AT END-OF-PAGE O . . . . . . . . . . .
     FORMAT . . D . . . D D D R . R
     NULL-KEY-MAP . . . . . . D D D . . .
     NULL-MAP . . D D D D D D D . . .
     STARTING . . . . . . . . . O . .
     ROLLING . . . . . . . . . O . .
     INDICATORS . . . . . . . . . O . .
     SUBFILE . . . . . . . . . B . .
     TERMINAL . . . . . . . . . O . .
START . . . O . O O . O . . .
     KEY . . . O . O O . O . . .
     INVALID KEY . . . O . O O . O . . .
     NOT INVALID KEY . . . O . O O . O . . .
     FORMAT . . . . . . D D D . . .
     NULL-KEY-MAP . . . . . . D D D . . .
REWRITE . . O O O O O O O B . .
     FROM . . O O O O O O O B . .
     INVALID KEY . . . . O O . O O B . .
     NOT INVALID KEY . . . . O O . O O B . .
     FORMAT . . . . . . . D D B . .
     NULL-KEY-MAP . . . . . . D D D . . .
     NULL-MAP . . D D D D D D D . . .
     INDICATORS . . . . . . . . . B . .
     SUBFILE . . . . . . . . . S . .
     TERMINAL . . . . . . . . . O . .
DELETE . . . O O O O O O . . .
     NULL-KEY-MAP . . . . . . D D D . . .
     INVALID KEY . . . . O O . O O . . .
     NOT INVALID KEY . . . . O O . O O . . .
     FORMAT . . . . . . . D D . . .
USE O O O O O O O O O O O O
     EXCEPTION/ERROR O O O O O O O O O O O O
     FOR DEBUGGING O O O O O O O O O O O O
COMMIT . . D D D D D D D . . .
ROLLBACK . . D D D D D D D . . .
ACQUIRE . . . . . . . . . O . .
DROP . . . . . . . . . O . .

Return codes are set by the system after transaction I-O, which involves ICF files or DISPLAY files.

For more information about return codes, see the IBM® Rational® Development Studio for i: ILE COBOL Programmer's Guide.

Table 2. File Status Keys and Corresponding Return Codes
File Status Key Major Return Code Minor Return Code Explanation
00

00
03
08
 
09

xx
xx except 09)
00
 
00

Normal completion (operation was successful).
No data received.
Acquire operation attempted to acquire an already
active session or device.
File has been dynamically created for OPEN OUTPUT.
(See the OPTION(*CRTF) parameter description
on the CRTCBLMOD command in the
ILE COBOL Programmer's Guide
for further information about dynamic file creation.)

0A

02
03

xx
09

Job being cancelled (controlled).
10 11 00 Read-from-invited-program-device rejected; no invites outstanding.
30 80 xx Permanent system error. The session has been ended.
92 81 xx Permanent device or session error.
9C 82 xx Open or acquire failed; session was not started.
9G 34 xx Output exception to device or session.
9I 04 xx Output exception to device or session.
9K 83 E0 Format not found.
9N 83 xx (except E0) Session error. Session is still active.