Rational Developer for System z
COBOL for Windows バージョン 7.5 プログラミング・ガイド


例: ファイル・システム状況コードの検査

次の例は、索引付きファイルを 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.

ご利用条件 | フィードバック

Copyright IBM Corporation 1996, 2008.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)