目的
REWIND ステートメントは、順次アクセス用に接続された
外部ファイルをファイルの最初のレコードの始めに位置付けます。
ストリーム・アクセスの場合、REWIND ステートメントはファイルを初期点に位置付けます。
構文
>>-REWIND--+-u-------------------+-----------------------------><
'-(--position_list--)-'
|
- u
- 外部装置識別子です。
u の値はアスタリスク、またはホレリス定数であってはなりません。
- position_list
- 装置指定子 ([UNIT=]u) を
必ず 1 つ含んでいなければならないリストです。このリストには、
他の有効な各指定子を 1 つずつ入れることができます。
有効な指定子は次のとおりです。
- [UNIT=] u
- 装置指定子です。u は外部装置指定子で、
その値はアスタリスクであってはなりません。
外部装置識別子は整数式
(1 から 2,147,483,647 までの範囲の値を持つ) で表される
外部ファイルを示します。
オプションの文字である UNIT= を省略する場合は、position_list の最初の項目として u を指定しなければなりません。
- ERR= stmt_label
- エラーが発生した場合に制御が移される同じ有効範囲単位内の
実行可能ステートメントのステートメント・ラベルを指定するエラー指定子です。
ERR= 指定子をコーディングすると、エラー・メッセージは抑制されます。
- IOMSG= iomsg_variable
- 入出力操作によって戻されるメッセージを指定する入出力状況指定子です。
iomsg_variable は、デフォルトのスカラー文字変数です。これを、使用関連付けされた非ポインター保護変数にすることはできません。
この指定子を含む入出力ステートメントの実行が完了すると、iomsg_variable は以下のように定義されます。
- エラー、ファイルの終わり、またはレコードの終わりという条件が発生した場合、この変数には割り当てによる場合と同様に説明メッセージが割り当てられます。
- そのような条件が発生しなかった場合には、変数の値は変更されません。
- IOSTAT= ios
- 入出力操作の状況を示す入出力状況指定子です。
ios は整変数です。REWIND ステートメントの実行が完了すると、ios の値は次のように定義されます。
- エラーが発生しなかった場合は 0
- エラーが発生した場合は正の値
規則
装置が接続されていない場合、fort.n という名前
のデフォルトのファイルに対して順次アクセスを指定する暗黙の OPEN ステートメントが実行されます。
ここで、n は先行ゼロを除去した u の値です。
指定した装置に接続されている外部ファイルが存在しない
場合、REWIND ステートメントは効力を持ちません。
接続されている外部ファイルが存在している場合、
ファイルの終わりマーカーが作成され (必要な場合)、
ファイルが最初のレコードの始めに位置付けられます。
ファイルがすでに初期点に位置付けられている
場合、REWIND ステートメントは効力を持ちません。
REWIND ステートメントを実行すると、u を参照している
それ以降の READ または
WRITE ステートメントでは、u に
関連付けられた外部ファイルの最初のレコードからのデータの読み取り、
またはそのレコードへのデータの書き込みが行われます。
ERR= と IOSTAT= 指定子が設定されているときにエラーが
検出されると、ERR= 指定子によって指定されたステートメントに対して
転送が行われ、正の整数値が ios に割り当てられます。
+----------------------------------IBM 拡張----------------------------------+
IOSTAT= も ERR= も指定していない場合は、以下のとおりです。
- 重大なエラーが検出されるとプログラムは停止します。
- 回復可能エラーが検出され、ERR_RECOVERY 実行時オプションが YES に設定されていると、プログラムは次のステートメントへと処理を継続します。
オプションが NO に設定されていると、プログラムは停止します。
+------------------------------End of IBM 拡張-------------------------------+
例
REWIND (9, IOSTAT=IOSS)
関連情報
