START ステートメントは、その後の順次レコード検索のために、索引付き ファイルまたは相対ファイル内での位置決めの手段を提供します。
START ステートメントを実行する場合には、 関連する索引付きファイルまたは相対ファイルは、 INPUT モードまたは I-O モードのいずれかでオープンされている必要があります。
フォーマット >>-START--ファイル名-1------------------------------------------> >--+------------------------------------------------------------------+--> '-KEY--+----+--+-EQUAL--+----+-----------------------+--データ名-1-' '-IS-' | '-TO-' | +-=-----------------------------------+ +-GREATER--+------+-------------------+ | '-THAN-' | +->-----------------------------------+ +-NOT LESS--+------+------------------+ | '-THAN-' | +-NOT <-------------------------------+ +-GREATER--+------+--OR EQUAL--+----+-+ | '-THAN-' '-TO-' | '->=----------------------------------' >--+--------------------------------------+-------------------> '-INVALID--+-----+--命令ステートメント-1-' '-KEY-' >--+------------------------------------------+---------------> '-NOT INVALID--+-----+--命令ステートメント-2-' '-KEY-' >--+-----------+----------------------------------------------->< '-END-START-'
KEY 句を指定すると、ファイル位置標識は、 ファイル内で比較の条件を満たすキー・フィールドを持つ論理レコードに位置付けられます。
KEY 句を指定しない場合は、 KEY IS EQUAL (基本レコード・キーに一致する) が暗黙に指定されます。
START ステートメントが実行されると、 キー・データ名の現行値とファイルの指標内の該当キー・フィールドが比較されます。
ファイル制御項目の中に FILE STATUS 節が指定されている場合は、 START ステートメントの実行時に、関連するファイル状況キーが更新されます (ファイル状況キーを参照)。
ファイル内のどのレコードでも比較の条件が満たされない場合は、無効キー条件となります。 つまり、ファイル位置標識の位置は未定義となり 、(指定されている場合は) INVALID KEY 命令ステートメントが実行されます。(『共通の処理機能』にあるINTO 句および FROM 句を参照してください。)
INVALID KEY 句および利用可能な EXCEPTION/ERROR プロシージャーは、両方とも省略することができます。
この明示的範囲終了符号は、START ステートメントの範囲を区切るために使用されます。 END-START を使用すると、 条件付き START ステートメントを他の条件ステートメント内にネストすることができます。 END-START 句は、命令 START ステートメントと共に使用することもできます。
詳しくは、範囲区切りステートメントを参照してください。
KEY 句を指定したときは、比較のために使用されるキー・データ項目はデータ名-1 です。
KEY 句を指定しない場合は、EQUAL TO 比較のために使用されるキー・データ項目は、 基本 RECORD KEY です。
START ステートメントが正しく実行されると、データ名-1 が関連付けられている RECORD KEY または ALTERNATE RECORD KEY は、 後続の READ ステートメントで使用される参照キーとなります。
カテゴリーにかかわらず、データ名-1 は、比較演算を行うために、英数字項目として扱われます。
ファイル位置標識は、比較を満たすキー・フィールドを持つファイル内の最初のレコードに位置付けられます。 比較の際にオペランドの長さが等しくない場合には、 長い方のフィールドの右側が短い方のフィールドに合わせて切り捨てられたかのようにして処理します。 PROGRAM COLLATING SEQUENCE 節が指定されていても効力を持たないことを除いて、 他の数字および英数字比較の規則がすべて適用されます。
START ステートメントが正常に実行すると、データ名-1 が関連付けられている RECORD KEY は、 後続の READ ステートメントの参照キーになります。
START ステートメントの実行が正常に行われないと、参照キーは定義されません。