REWRITE

:現在の記録を書き換えます。

以下のいずれかの形式を取ります。

形式

書式付き

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 文では,以下のいずれかの外部ファイルの現在の (既存) 記録にデータが (書式付きの場合には変換され,書式なしの場合には変換なしで) 書き込まれます

現在の記録は,直前に成功した順番探査,または直接探査の READ 文によって探査された最後の記録です。

READ 文と REWRITE 文の間では,その論理装置に対して (INQUIRE 以外の) 他の I/O 文を指定してはなりません。その論理装置に対して他の I/O 文を実行すると,現在の記録の文脈が破壊され,現在の記録が不定状態となります。

1 回の REWRITE 文操作では,1 つの記録しか書き換えることができません。

出力並び (および,存在するならば書式仕様) は,記録に対して,記録の大きさよりも多くの文字数を指定してはなりません (記録の大きさは OPEN 文の RECL によって指定されます)。

I/O 並び (および,存在するならば書式) によって指定された文字数で記録が充填されなかった場合,記録がいっぱいになるように空白文字が追加されます。

次の例では,現在の記録 (論理装置 3 に接続されている相対編成ファイルに含まれる現在の記録) が,NAMEAGE,および BIRTH によって表現される値で更新されます。

		REWRITE (3, 10, ERR=99) NAME, AGE, BIRTH
	10	FORMAT (A16, I2, A8)