CLOSE 文

CLOSE 文は、リール/ユニットおよびファイルの処理を終了する。また、可能な場合に巻き戻しやロック、または取り外しを行うこともできる。

一般形式


*

構文規則

  1. CLOSE 文で参照されるファイルは、すべてが同じ編成またはアクセス属性を備えている必要はない。

一般規則

以下の一般規則で特に記載がない限り、「リール」および「ユニット」という語は同等であり、CLOSE 文ではまったく同じものとして使用できる。順編成の大容量記憶域ファイルの取り扱いは、論理的にはテープまたは類似の順編成媒体と同じである。複数のファイル テープ環境に含まれるファイルの扱いは、ファイルが 1 つのリールに完全に含まれている場合、論理的には順編成の単一リール/ユニット ファイルと同じである。

  1. CLOSE 文は、開かれているファイルに対してのみ実行できる。
  2. さまざまな記憶媒体に適用される各種 CLOSE 文の効果を示すために、すべての報告書ファイルを次の種類に分類する。
    1. 非リール/ユニット:巻き戻しおよびリール/ユニットの概念が意味をもたないような出力媒体を持つファイル。
    2. 順編成の単一リール/ユニット:単一のリール/ユニットに完全に格納される順編成ファイル。
    3. 順編成の複数リール/ユニット:複数のリール/ユニットにわたって格納される順編成ファイル。
  3. ファイルの種類ごとに、CLOSE 文の各形式の実行結果をまとめて次の表に示す。
    表 1. CLOSE 文の書き方およびファイルの種類の関係
    CLOSE 文の書き方 ファイルの種類
    非リール/ユニット 順編成単一リール/ユニット 順編成複数リール/ユニット
    CLOSE C C、G A、C、G
    CLOSE WITH LOCK C、E C、E、G A、C、E、G
    CLOSE WITH NO REWIND C、H B、C A、B、C
    CLOSE WITH REEL/UNIT F F、G F、G
    CLOSE REEL/UNIT FOR REMOVAL F D、F、G D、F、G

    上記の表に示した記号の意味を以下で説明する。

    • A:出力報告書ファイルに対する前のリール/ユニットに影響を与える

      報告書ファイル内の現在のリール/ユニットよりも前にあるリール/ユニットがすべて閉じられる。ただし、すでに CLOSE REEL/UNIT 文によって制御されているものは除く。

    • B:現在のリールを巻き戻さない

      リール/ユニットは、現在の位置にとどまる。

    • C:出力報告書ファイルを閉じる

      報告書ファイルにラベル レコードを指定している場合、作成者の標準ラベル方式に従ってラベルが処理される。ラベル レコードを指定しているが存在しない場合、またはラベル レコードを指定していないが存在する場合、CLOSE 文の動作は不明となる。作成者が指定した終了手続きが実行される。報告書ファイルにラベル レコードを指定していない場合、ラベルの処理は行われないが、作成者が指定した他の終了手続きは実行される。

    • D:リール/ユニットを取り外す

      可能な場合、現在のリールまたはユニットが巻き戻され、実行単位から論理的に取り外される。ただしその後、その報告書ファイルに対して REEL または UNIT を指定せずに CLOSE 文を実行してから、報告書ファイルに対して OPEN 文を実行すると、その報告書ファイル内のリールまたはユニットを適切な順番で再び呼び出せる。

    • E:ファイルをロックする

      報告書ファイルはロックされ、この実行単位の実行中に再度開くことはできない。

    • F:リール/ユニットを閉じる

      出力報告書ファイル (リール/ユニット媒体):

      次の操作が行われる。

      1. 標準終了リール/ユニット ラベル手続きが実行される。
      2. リール/ユニットを交換する。現在のボリューム ポインターが新しいリール/ユニットを指すように更新される。
      3. 標準開始リール/ユニット ラベル手続きが実行される。
      4. そのファイルに対して次回書き込み処理を実行する際に、次の論理データ レコードがそのファイルの次のリール/ユニットに書き出される。

      出力報告書ファイル (非リール/ユニット媒体):

      この文は正常に実行されたものと見なされる。ファイルは開かれたまま、一般規則 4 で指定された処理以外には何も行われない。

    • G:巻き戻す

      現在のリールまたは類似の装置は、物理的始点に位置指定される。

    • H:オプションの指定は無視される

      CLOSE 文は、オプションの指定はないものとして実行される。

  4. CLOSE 文を実行すると、file-name-1 に関連付けられた入出力状態の値が更新される。
  5. 報告書ファイルの処理を終了するには、その報告書ファイルに関連する起動済みのすべての報告書を TERMINATE 文を実行して終了してから、報告書ファイルに対して CLOSE 文を実行する。
  6. REEL または UNIT が指定されていない CLOSE 文の実行が正常に終了すると、報告書ファイルは開かれた状態ではなくなり、ファイル結合子との関連付けが解除される。
  7. 単一の CLOSE 文に複数の file-name-1 を指定すると、その実行結果は、個々の file-name-1 に対して CLOSE 文で指定した順序で CLOSE 文を別々に実行した場合と同じである。