文:現在の記録を書き換えます。
以下のいずれかの形式を取ります。
形式
書式付き
REWRITE (eunit, format [, iostat] [, err]) [io-list]
書式なし
REWRITE (eunit [, iostat] [, err]) [io-list]
eunit
外部装置指定子 ([UNIT=]io-unit)。
format
書式指定子 ([FMT=]format)。
iostat
状態指定子 (IOSTAT=i-var)。
err
エラー条件が発生した場合の飛び先指定子 (ERR=label)。
io-list
I/O 並び。
REWRITE 文では,以下のいずれかの外部ファイルの現在の (既存) 記録にデータが (書式付きの場合には変換され,書式なしの場合には変換なしで) 書き込まれます
Tru64 UNIX,Linux,および Windows システム - 直接探査のファイル。
OpenVMS システム - すべての形式のファイル。順編成ファイルでは,現在の記録と新しい記録は同じ長さでなくてはなりません。
現在の記録は,直前に成功した順番探査,または直接探査の READ 文によって探査された最後の記録です。
READ 文と REWRITE 文の間では,その論理装置に対して (INQUIRE 以外の) 他の I/O 文を指定してはなりません。その論理装置に対して他の I/O 文を実行すると,現在の記録の文脈が破壊され,現在の記録が不定状態となります。
1 回の REWRITE 文操作では,1 つの記録しか書き換えることができません。
出力並び (および,存在するならば書式仕様) は,記録に対して,記録の大きさよりも多くの文字数を指定してはなりません (記録の大きさは OPEN 文の RECL によって指定されます)。
I/O 並び (および,存在するならば書式) によって指定された文字数で記録が充填されなかった場合,記録がいっぱいになるように空白文字が追加されます。
例
次の例では,現在の記録 (論理装置 3 に接続されている相対編成ファイルに含まれる現在の記録) が,NAME,AGE,および BIRTH によって表現される値で更新されます。
REWRITE (3, 10, ERR=99) NAME, AGE, BIRTH 10 FORMAT (A16, I2, A8)