REWRITE ステートメントの実行が正常に終了すると、レコードは、レコード名-1 では使用可能でなくなります。 ただし、関連するファイルが SAME RECORD AREA 文節内で指定されている場合を除きます (この場合には、 レコードは、SAME RECORD AREA 文節の中で指定されている他のファイルのレコードとしても使用可能です)。
ファイル位置標識は、REWRITE ステートメントの実行による影響を受けません。
FILE-CONTROL 記入項目に FILE STATUS 文節が指定されている場合は、REWRITE ステートメントの実行時に、関連する状況キーが更新されます。
ファイルに対して実行された最後の入出力ステートメントが、正常に実行された READ ステートメントでなければなりません。 置き換えられるレコードは、そのステートメントによって検索されたレコードです。
INVALID KEY および NOT INVALID KEY 句を指定してはなりません。 EXCEPTION/ERROR プロシージャーは指定できます。
順次編成のファイルについては、レコード名-1 の文字桁数は、置き換えられるレコードの文字桁数と等しくなければなりません。
順次アクセス・モードの場合には、ファイルに対して実行された最後の入出力ステートメントが、正常に実行された READ ステートメントでなければなりません。 置き換えられるレコードは、そのステートメントによって検索されたレコードです。RECORD KEY データ項目の値は、レコードが読み取られてから変更されていてはなりません。 値が変更されていると、INVALID KEY 条件が発生します。
ランダムまたは動的アクセス・モードの場合には、置き換えられるレコードは、RECORD KEY データ項目内の値によって指定されます。 ファイルに当該レコードがない場合には、INVALID KEY 条件が発生します。
EXCEPTION/ERROR プロシージャーがファイルに定義されていない場合は、INVALID KEY 句を指定しなければなりません。
索引付き編成のファイルについては、レコード名-1 の文字桁数は、置き換えられるレコードの文字桁数と異なっていても構いません。
+----------------------------------IBM 拡張----------------------------------+
ファイルに対して EXTERNALLY-DESCRIBED-KEY が指定されているときには、FORMAT 句によって指定されている形式 (あるいは、FORMAT 句が使用されていない場合には、 最初の形式) に対応するレコード域内にあるキー・データが、RECORD KEY データ項目の現行値を決定するために使用されます。
WITH DUPLICATES 句がファイルに指定されている場合には、 すべてのアクセス・モード (順次、ランダム、動的) において、ファイルに対して実行された最後の入出力ステートメントが、 正常に実行された READ ステートメントでなければなりません。 置き換えられるレコードは、そのステートメントによって検索されたレコードです。RECORD KEY データ項目の値は、レコードが読み取られてから変更されていてはなりません。 値が変更されていると、INVALID KEY 条件が発生します。
+------------------------------End of IBM 拡張-------------------------------+
順次アクセス・モードの場合には、ファイルに対して実行された最後の入出力ステートメントが、正常に実行された READ ステートメントでなければなりません。 置き換えられるレコードは、そのステートメントによって検索されたレコードです。INVALID KEY および NOT INVALID KEY 句を指定してはなりません。 EXCEPTION/ERROR プロシージャーは指定できます。
ランダムまたは動的アクセス・モードの場合には、置き換えられるレコードは、RELATIVE KEY データ項目内の値によって指定されます。 ファイルに当該レコードがない場合には、INVALID KEY 条件が発生します。EXCEPTION/ERROR プロシージャーがファイルに定義されていない場合は、INVALID KEY 句を指定しなければなりません。
相対編成のファイルについては、レコード名-1 の文字桁数は、置き換えられるレコードの文字桁数と異なっていても構いません。
+----------------------------------IBM 拡張----------------------------------+
以下のファイル・タイプの REWRITE ステートメントの前に、READ ステートメントを正常に実行しておく必要があります。
このような READ ステートメントには NO LOCK 句を入れてはいけません。 READ ステートメントによって選択されているレコードを置き換えようとしており、 そのレコードが読み取られたときにロックされなかった場合には、REWRITE ステートメントは正常に実行されません。
+------------------------------End of IBM 拡張-------------------------------+