索引付きファイル
順次アクセス・モードの場合には、ファイルに対して実行された最後の入出力ステートメントが、正常に実行された READ ステートメントでなければなりません。 置き換えられるレコードは、そのステートメントによって検索されたレコードです。RECORD KEY データ項目の値は、レコードが読み取られてから変更されていてはなりません。 値が変更されていると、INVALID KEY 条件が発生します。
ランダムまたは動的アクセス・モードの場合には、置き換えられるレコードは、RECORD KEY データ項目内の値によって指定されます。 ファイルに当該レコードがない場合には、INVALID KEY 条件が発生します。
EXCEPTION/ERROR プロシージャーがファイルに定義されていない場合は、INVALID KEY 句を指定しなければなりません。
索引付き編成のファイルについては、レコード名-1 の文字桁数は、置き換えられるレコードの文字桁数と異なっていても構いません。
ファイルに対して EXTERNALLY-DESCRIBED-KEY が指定されているときには、FORMAT 句によって指定されている形式 (あるいは、FORMAT 句が使用されていない場合には、 最初の形式) に対応するレコード域内にあるキー・データが、RECORD KEY データ項目の現行値を決定するために使用されます。
WITH DUPLICATES 句がファイルに指定されている場合には、 すべてのアクセス・モード (順次、ランダム、動的) において、ファイルに対して実行された最後の入出力ステートメントが、 正常に実行された READ ステートメントでなければなりません。 置き換えられるレコードは、そのステートメントによって検索されたレコードです。RECORD KEY データ項目の値は、レコードが読み取られてから変更されていてはなりません。 値が変更されていると、INVALID KEY 条件が発生します。