Rational Developer for System z
Enterprise COBOL for z/OS バージョン 4.1 プログラミング・ガイド


VSAM ファイルからのレコードの読み取り

ファイルからレコードを検索 (READ) するには、READ ステートメントを使用します。 レコードを読み取るためには、ファイルを INPUT または I-O としてオープンしていなければなりません。プログラムでは、それぞれの READ の後でファイル状況キーを検査しなければなりません。

VSAM 順次ファイルの中のレコードは、それらが書き込まれたシーケンスでしか検索することができません。

VSAM 索引付きファイルおよび相対レコード・ファイルの中のレコードは、次のように検索することができます。

順次
索引付きファイルの場合は、ファイル位置標識のファイル位置標識から、使用中のキー (RECORD KEY または ALTERNATE RECORD KEY) の昇順に従い、相対ファイルの場合は、相対レコード位置の昇順に従って
ランダム
READ 要求の前に、RECORD KEY または ALTERNATE RECORD KEY または RELATIVE KEY をどのように設定するかによって、任意の順序で
動的
順次とランダムの混合で

動的アクセスの場合、順次検索には READ NEXT を使用し、ランダム検索 (キーによる) には READ を使用することによって、特定のレコードの直接読み取りと、いくつかのレコードの順次読み取りを切り替えることができます。

特定のレコードから順次に読み取りを行いたい場合には、READ NEXT ステートメントの前に START ステートメントを使用して、ファイル位置標識を、特定のレコードを指すように設定してください。START の後に READ NEXT をコーディングすると、次のレコードが読み取られ、ファイル位置標識は次のレコードにリセットされます。ファイル位置標識は、START を使用してランダムに移動することができますが、すべての読み取りはそのポイントから順次に行われることになります。

START file-name KEY IS EQUAL TO ALTERNATE-RECORD-KEY

重複が存在する代替索引に基づいて、VSAM 索引付きファイルに対して直接 READ が実行されると、その代替キーを持つデータ・セット (基本クラスター) の最初のレコードのみが検索されます。同じ代替キーを持つデータ・セット・レコードのそれぞれを検索するためには、一連の READ NEXT ステートメントが必要です。 同じ代替キー値を持つ、読み取るべきレコードがほかにある場合には、02 のファイル状況コードが戻されます。そのキー値を持つ最後のレコードが読み取られると、00 のコードが戻されます。


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

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