Index
CLOSE

【用途】
ファイルのクローズ。プログラム上、書かなくても動作はするが、普通は終了時にクローズするべき。
あなたもチャックを開けて用を足した後はチャック閉めるでしょ?それと同じです。

【使用例】
・CLOSE  IN-FILE  OUT-FILE (閉じるファイルを記述するだけ)

CLOSE文


機能

CLOSE(閉じる)文は,リール,ユニット又はファイルの処理を終了させる.更に,可能ならば巻きもどし又はロックを実行できる.


一般形式

【書き方】
Image


構文規則

(1)

CLOSE文で参照されるファイルは,同じ編成又は同じ呼出し法でなくてもよい.

(2)

WITH NO REWIND指定は,物理順ファイルにだけ指定できる.


一般規則

大記憶上の順ファイルは,テープ装置又は他の類似の媒体上のファイルと論理的に同じ扱いとする.複数ファイルテープ環境下のファイルは,そのファイルが一つのリールに完全に含まれるならば,順単一リール/ユニットのファイルと論理的に同じ扱いとする.
(1)

CLOSE文は,開かれているファイルに対してだけ実行できる.

(2)

CLOSE文における個々の記憶媒体に対する各種の書き方の機能を規定するために,ファイルを次のように分類する.
(a)

非リール/ユニット
巻きもどしやリール/ユニットの概念が意味をもたない入出力媒体のファイル

(b)

順単一リール/ユニット
一つのリール/ユニットに完全に含まれる順ファイル

(c)

順複数リール/ユニット
二つ以上のリール/ユニットにまたがる順ファイル

(3)

各種のファイルに対するCLOSE文の実行結果は,表4.5に従う.

表4.5 ファイルの種類とCLOSE文の書き方の関係
      ファイルの種類
書き方        
非リール/ユニット
         
順単一リール/ユニット
           
順複数リール/ユニット
           
CLOSE         
(c)        
(c),(e)        
(a),(c),(e)      
CLOSE WITH LOCK    
(c),(d)      
(c),(d),(e)      
(a),(c),(d),(e)    
CLOSE WITH NO REWIND
(c),(f)      
(b),(c)        
(a),(b),(c)      




表中の括弧付き英字は,以下の項番に対応する.実行結果が入力ファイル,出力ファイル及び入出力両用ファイルの別によって異なるときは,分けて規定する.分けていない場合には,定義はすべてのファイルに適用する.
(a)

前のリール/ユニットへの影響
(i)

入力ファイル及び入出力両用ファイル
現在より前のすべてのリール/ユニットは閉じられる.現在のリール/ユニットがそのファイルの最後のものでない場合に,現在のものに続くリール/ユニットは処理されない.

(ii)

出力ファイル
現在より前のすべてのリール/ユニットは閉じられる.

(b)

現在のリール/ユニットの巻戻しはしない
現在のリール/ユニットは,巻き戻さず,そのままの位置におく.

(c)

ファイル閉じ
(i)

入力及び入出力両用の物理順ファイル
そのファイルが終了の位置にあり,かつラベルレコードが指定されている場合,ラベルは,標準のラベル手続きに従って処理される.その後,標準の終了手続きを実行する.
ファイルが終了の位置にあり,かつラベルレコードが指定されていない場合,又はファイルが終了の位置にない場合,標準の終了手続きだけを実行し,終わりラベル処理は行わない.

(ii)

出力の物理順ファイル
ラベルレコードが指定されていると,ラベルは標準のラベル手続きに従って処理される.その後,標準の終了手続きを実行する.ラベルレコードの指定がないと,ラベル処理は行わずに,標準の終了手続きを実行する.

(iii)

上記以外のファイル
標準の終了手続きを実行する.

(d)

ファイルのロック
ファイルをロックし,その実行単位で再び開けないようにする.

(e)

巻戻し
現在のリール/ユニットは,その物理的に始めの位置に位置付ける.

(f)

選択指定は無視
CLOSE文は,選択指定が存在しないかのように実行される.

(4)

CLOSE文の実行により,ファイル名-1に関連する入出力状態の値が更新される.

(5)

CLOSE文の実行が成功すると,ファイル名-1に関連したレコード領域は参照できなくなる.CLOSE文の実行が不成功になったときの,レコード領域の参照については規定しない.

(6)

CLOSE文の実行が成功すると,そのファイルは開かれた状態から取り外され,そのファイル結合子と関連しなくなる.

(7)

一つのCLOSE文に二つ以上のファイル名-1を書いたとき,このCLOSE文の実行結果は,各ファイル名-1をこのCLOSE文に書いた順序で別々のCLOSE文に書いた場合と同じとする.


Index