CLOSE

目的

CLOSE ステートメントは外部ファイルを装置から切断します。

構文



>>-CLOSE--(--close_list--)-------------------------------------><
 
 

close_list
装置指定子 (UNIT=u) を必ず 1 つ 含んでいなければならないリストです。このリストには、許可されている他の指定子をそれぞれ 1 つずつ入れることができます。 有効な指定子は次のとおりです。

[UNIT=] u
装置指定子です。u は外部装置指定子で、 その値はアスタリスクであってはなりません。 外部装置識別子は整数式 (1 から 2147483647 までの範囲の値を持つ) で表される 外部ファイルを参照します。 オプションの文字である UNIT= を省略する場合は、close_list の最初の項目として u を指定しなければなりません。

ERR= stmt_label
エラーが発生した場合に制御が移される同じ有効範囲単位内の 実行可能ステートメントのステートメント・ラベルを指定するエラー指定子です。 ERR= 指定子をコーディングすると、エラー・メッセージは抑制されます。

IOMSG= iomsg_variable
入出力操作によって戻されるメッセージを指定する入出力状況指定子です。 iomsg_variable は、デフォルトのスカラー文字変数です。これを、使用関連付けされた非ポインター保護変数にすることはできません。 この指定子を含む入出力ステートメントの実行が完了すると、iomsg_variable は以下のように定義されます。

IOSTAT= ios
入出力操作の状況を示す入出力状況指定子です。 ios は整変数です。この入出力ステートメントの実行が完了すると、ios 指定子は次の値に定義されます。

STATUS= char_expr
ファイルのクローズ後の状況を示します。 char_expr はスカラー文字式であり、その値は、末尾ブランクを除去すると KEEP または DELETE の いずれかになります。

ファイル状況が SCRATCH の場合、デフォルトは DELETE です。 それ以外の場合、デフォルトは KEEP です。

規則

装置を参照する CLOSE ステートメントは実行可能プログラム のどのプログラム単位の中に置いてもかまいません。その装置を 参照する OPEN ステートメントと同じ有効範囲単位内に 置く必要はありません。 存在しない装置またはファイルが接続されていない装置を指定することも できますが、その場合、CLOSE ステートメントは何の効力も持ちません。

IBM 拡張の開始装置 0 はクローズできません。 IBM 拡張の終了

実行可能プログラムが、エラー以外の理由によって停止すると、 接続されているすべての装置はクローズされます。 終了前のファイル状況が SCRATCH でない限り、 装置は KEEP 状態でクローズされます。SCRATCH の 場合、装置は DELETE 状態でクローズされます。 結果として、STATUS= 指定子の付いていない CLOSE ステートメントが、それぞれの接続装置で実行されたかの ようになります。

事前に接続されていた装置が CLOSE ステートメントによって切断された場合、その装置が後で WRITE ステートメントの中で指定されると (明示的にオープンされずに)、暗黙的なオープン規則が 適用されます。

CLOSE(15)
CLOSE(UNIT=16,STATUS='DELETE')

関連情報

IBM Copyright 2003