図6-96-START構文
START文は、後続の順次読み取り操作のためのファイル内の論理開始点を定義する。
ファイル名-1は、ORGANIZATION RELATIVEまたはORGANIZATION INDEXEDファイルである必要がある。
ファイル名-1は、ACCESS MODE DYNAMICまたはACCESS MODE SEQUENTIALがSELECTで指定されている必要がある。
ファイル名-1はSTART文の実行時に、INPUTモードまたはI-OモードのいずれかでOPEN(6.31)の状態である必要がある。
KEY句が指定されていない場合、「KEY IS EQUAL TO 一意名-1」が指定されたとみなす。
ファイル名-1がORGANIZATION RELATIVEファイルの場合、一意名-1はファイルのRELATIVE KEYでなければならない(4.2.1.2を参照)。
ファイル名-1がORGANIZATION INDEXEDファイルの場合、一意名-1はファイルのRECORD KEYまたはALTERNATE RECORD KEY項目の一つでなければならない(4.2.1.3を参照)。
START文が正常に実行された後、ファイル名-1データへの内部レコードポインターは、ファイル名-1に対して実行された後続の順次READ文が読み取られるように配置される。
a. 指定された関係チェックがEQUALTO、GREATER THAN、GREATER THAN OR EQUAL TO(または構文上同じもの)である場合にKEY句による指定を満たす最初のレコード。
b. KEY句による指定を満たす最後のレコードは、指定された関係チェックがLESS THANまたはLESS THAN OR EQUAL TO(または構文上同じもの)であるということである。
START文は、後続の順次READ文のためにファイルを配置するだけであり、実際にファイル名-1の01レベルのレコードに新しいデータを入力することはない。KEY句を満たすレコードを読み取るには、START文が成功した後に順次READ文を発行する必要がある。
START文を実行中にエラーが発生した場合、ON INVALID KEY句がトリガーされる(つまり命令文-1が実行される)。このようなエラーは、入出力エラーまたは「キーが存在しない」エラー(ファイルステータス23)である可能性があり、KEY句の要件を満たすレコードが存在しないことを示す。
START文を実行中にエラーが発生しなかった場合、NOT INVALID KEY句がトリガーされ、命令文-2が実行される。
START文が目的のレコードを見つけ(または見つけなくても)、指定された命令文-1または命令文-2を実行すると(または実行しなくても)、制御はSTARTに続く次の文に移る。