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