次の例は、索引付きファイルを 5 番目のレコードから読み取り、 それぞれの入力または出力要求の後で、ファイル状況キーを検査します。
さらに、以下に、処理中のファイルに 6 つのレコードが入っていたことを想定した場合の、このプログラムからの出力を図示しています。
IDENTIFICATION DIVISION.
PROGRAM-ID. EXAMPLE.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT FILESYSFILE ASSIGN TO FILESYSFILE
ORGANIZATION IS INDEXED
ACCESS DYNAMIC
RECORD KEY IS FILESYSFILE-KEY
FILE STATUS IS FS-CODE, FILESYS-CODE.
DATA DIVISION.
FILE SECTION.
FD FILESYSFILE
RECORD 30.
01 FILESYSFILE-REC.
10 FILESYSFILE-KEY PIC X(6).
10 FILLER PIC X(24).
WORKING-STORAGE SECTION.
01 RETURN-STATUS.
05 FS-CODE PIC XX.
05 FILESYS-CODE PIC X(6).
PROCEDURE DIVISION.
OPEN INPUT FILESYSFILE.
DISPLAY “OPEN INPUT FILESYSFILE FS-CODE: ” FS-CODE.
IF FS-CODE NOT = “00”
PERFORM FILESYS-CODE-DISPLAY
STOP RUN
END-IF.
MOVE “000005” TO FILESYSFILE-KEY.
START FILESYSFILE KEY IS EQUAL TO FILESYSFILE-KEY.
DISPLAY “START FILESYSFILE KEY=” FILESYSFILE-KEY
“ FS-CODE: ” FS-CODE.
IF FS-CODE NOT = “00”
PERFORM FILESYS-CODE-DISPLAY
END-IF.
IF FS-CODE = “00”
PERFORM READ-NEXT UNTIL FS-CODE NOT = “00”
END-IF.
CLOSE FILESYSFILE.
STOP RUN.
READ-NEXT.
READ FILESYSFILE NEXT.
DISPLAY “READ NEXT FILESYSFILE FS-CODE: ” FS-CODE.
IF FS-CODE NOT = “00”
PERFORM FILESYS-CODE-DISPLAY
END-IF.
DISPLAY FILESYSFILE-REC.
FILESYS-CODE-DISPLAY.
DISPLAY “FILESYS-CODE ==>”, FILESYS-CODE.