COBOLでファイルをループして読み込む
COBOLでは、ファイルの循環読み込みがPERFORMループ構造で実現できます。次に簡単なサンプルコードを示します:“`IDENTIFICATION DIVISION.PROGRAM-ID. READ-FILE.DATA DIVISION.FILE SECTION.FD INPUT-FILE.01 INPUT-RECORD.
05 INPUT-FIELD PIC X(10).WORKING-STORAGE SECTION.01 EOF-SWITCH PIC X(01) VALUE ‘N’.PROCEDURE DIVISION.MAIN-LOGIC.
OPEN INPUT INPUT-FILE
PERFORM UNTIL EOF-SWITCH = ‘Y’
READ INPUT-FILE INTO INPUT-RECORD
AT END MOVE ‘Y’ TO EOF-SWITCH
NOT AT END
DISPLAY “Read record: ” INPUT-FIELD
END-PERFORM
CLOSE INPUT-FILE
STOP RUN.“`上記コードでは、まずファイル記述子FDと入力レコードINPUT-RECORDが定義されています。次に、ワーキングストレージセクションでEOF-SWITCHという名前の変数を定義して、ファイルの読み取りが完了したかを判断します。メイン処理では、まず入力ファイルを開き、次にPERFORMループ構造を使用してファイル内のレコードを継続的に読み取ります。ファイルの終わりに達するまで。各レコードの読み取り後、AT END句を使用してファイルの終わりに達したかどうかを判断します。もしそうであれば、EOF-SWITCHを「Y」に設定します。そうでなければ、NOT AT END句を使用して読み取ったレコードを処理します。最後に、入力ファイルを閉じてプログラムの実行を停止します。