Index
REWRITE

【用途】
データの更新

【使用例】
IN-RECの内容を更新する。但し更新できなかった場合にはERROR-FLAGをONにする。

REWRITE  IN-REC
 INVALID KEY
   MOVE  "ON"  TO  ERROR-FLAG
 NOT INVALID KEY
   MOVE  SPACE  TO  ERROR-FLAG
END-REWRITE

REWRITE文


機能

REWRITE(書換え)文は,大記憶ファイル中に存在するレコードを論理的に書き換える.


一般形式

【書き方】
Image


構文規則

(1)

レコード名-1と一意名-1とは,同じ記憶領域を参照してはならない.

(2)

レコード名-1は,データ部のファイル節で指定したレコードの名前とする.ファイル名で修飾してもよい.


一般規則

(1)

レコード名-1に関連するファイル名のファイルは,大記憶ファイルでなければならない.また,REWRITE文を実行する前に入出力両用モードで開いておかなければならない.

(2)

REWRITE文を実行する前に,関連するファイルに対して実行された最後の入出力文はREAD(読込み)文であって,それが成功していなければならない.入出力管理システムは,READ文によって読み込まれたレコードを論理的に書き換える.

(3)

REWRITE文の実行が成功すると,そのレコードはレコード領域中で使用不能になる.ただし,レコード名-1に関連するファイル名がSAME RECORD AREA(レコード領域の共用)句で指定されている場合には,REWRITE文によってレコードが使用不能になることはない.その論理レコードは,レコード名-1に関連するファイルと同様に,同じSAME RECORD AREA句で参照される他のファイル,つまり出力ファイルのレコードとして,そのプログラムで使用可能である.

(4)

FROM(から)指定のあるREWRITE文の実行結果は,以下に示す文をこの順で実行したものと等しい.
(a)

MOVE(転記)文の規則に従った以下の文
MOVE 一意名-1 TO レコード名-1

(b)

FROM指定のない同じREWRITE文

(5)

REWRITE文の実行を完了した後,SAME RECORD AREA句の指定がある場合を除いて,レコード名-1の領域の情報は使用不能になる.ただし,一意名-1の領域の情報は使用可能である.

(6)

ファイル位置指示子は,REWRITE文の実行によっては変更されない.

(7)

REWRITE文の実行により,レコード名-1に関連するファイル名の入出力状態の値が更新される.

(8)

REWRITE文の実行によってレコードが入出力管理システムに渡される.

(9)

END-REWRITE(REWRITE文の終わり)は,REWRITE文の範囲を区切る.


Index