READ ステートメントを使用して、ファイルからレコードを取り出します。 レコードを読み取るには、OPEN INPUT または OPEN I-O (OPEN I-O は行順次ファイルでは無効) を使用してファイルをオープンする必要があります。各 READ の後で、ファイル状況キーを検査してください。
順次ファイルおよび行順次ファイルの中のレコードは、それらが書き込まれたシーケンスでしか検索することができません。
索引付きおよび相対レコード・ファイルの中のレコードは、順次 (索引付きファイルの場合は使用中のキーの昇順に従い、相対ファイルの場合は相対レコード位置に従う)、ランダム、または動的に検索することができます。
動的アクセスの場合、順次検索には READ NEXT と READ PREVIOUS を使用し、(キーによる) ランダム検索には READ を使用することによって、特定のレコードの直接読み取りと、レコードの順次読み取りを切り替えることができます。
特定のレコードから順次に読み取りを行いたい場合には、READ NEXT または READ PREVIOUS ステートメントの前に START ステートメントを使用して、ファイル位置標識を、特定のレコードを指すように設定してください。 START の後に READ NEXT をコーディングすると、次のレコードが読み取られ、ファイル位置標識は次のレコードにリセットされます。START の後に READ PREVIOUS をコーディングすると、前のレコードが読み取られ、ファイル位置標識は前のレコードにリセットされます。ファイル位置標識は、START を使用してランダムに移動することができますが、すべての読み取りはそのポイントから順次に行われることになります。
レコードの順次読み取りを続行することも、START ステートメントを使用してファイル位置標識を移動することも可能です。以下に、その例を示します。
START file-name KEY IS EQUAL TO ALTERNATE-RECORD-KEY
重複が存在する代替索引に基づいて、索引付きファイルに対して直接 READ が実行されると、その代替キー値を持つファイル (基本クラスター) の最初のレコードのみが検索されます。 同じ代替キーを持つデータ・セット・レコードのそれぞれを検索するためには、一連の READ NEXT ステートメントが必要です。同じ代替キーを持つ読み取り対象レコードが複数ある場合は、ファイル状況値 02 が戻されます。そのキー値を持つ最後のレコードが読み取られると、値 00 が戻されます。
関連概念
順次アクセス
ランダム・アクセス
動的アクセス
ファイル編成およびアクセス・モード
関連タスク
ファイルのオープン
ファイル状況キーの使用
関連参照
ファイル位置標識
FILE STATUS 文節
(「COBOL for Windows 言語解説書」)