入出力管理段落

入出力管理段落では、再実行地点、ファイル間で共有する記憶領域、および複数ファイル リールでの順編成ファイルの位置を指定する。

ANS85 入出力管理段落の RERUN 句および MULTIPLE FILE TAPE 句は、ANSI'85 規格では廃要素に分類されており、ANSI 規格の次回の全面改訂の際に削除される予定である。

MF この構文は、この COBOL 実装内のすべての方言で全面的にサポートされている。FLAGSTD コンパイラ指令を使用すると、この構文を使用するすべての箇所を検出できる。

XOPEN RERUN 句および MULTIPLE FILE TAPE 句は、標準 COBOL 定義の一部であるが、X/Open の COBOL 言語定義では明示的に除外されている。したがって、X/Open の COBOL 準拠のソース プログラムでは使用するべきではない。

一般形式


*

構文規則

  1. 入出力管理段落は省略できる。
  2. integer-1 RECORDS 句または integer-2 CLOCK-UNITS 句を指定する際には、RERUN 句に character-string を指定する。
  3. SAME AREA 句では、SORT および SORT-MERGE は同等である。
  4. SAME SORT AREA 句または SAME SORT-MERGE AREA 句を使用する場合は、1 つ以上の file-name を整列ファイルまたは併合ファイルとする。この句には、整列ファイルまたは併合ファイルでないファイルも指定できる。
  5. SAME 句には、SAME AREA および SAME RECORD AREA という 2 つの形式があり、以下のとおり使い分ける。

    1 つのソース要素に複数の SAME 句を含められる。ただし次の制約がある。

    1. 複数の SAME AREA 句で同じ file-name を指定できない。
    2. 複数の SAME RECORD AREA 句で同じ file-name を指定できない。
    3. SAME AREA 句内の 1 つ以上の file-name を SAME RECORD AREA 句でも指定する場合は、その SAME AREA 句内のすべての file-name を SAME RECORD AREA 句内でも指定する。ただし、SAME AREA 句で指定していない file-name を SAME RECORD AREA 句内で追加指定できる。SAME RECORD AREA 句内のすべてのファイルはいつでも開けるが、SAME AREA 句内のファイルは一度に 1 つしか開けないという規則の方が優先される。
    4. 整列ファイルまたは併合ファイルである file-name は、SAME AREA 句には指定できない。
    5. 複数の SAME SORT AREA 句または SAME SORT-MERGE AREA 句に同じ整列ファイルまたは併合ファイルである file-name は指定できない。
    6. SAME AREA 句内の整列ファイルでも併合ファイルでもない file-name を、1 つ以上の SAME SORT AREA 句または SAME SORT-MERGE AREA 句内で使用する場合は、SAME AREA 句内のすべてのファイル名を SAME SORT AREA 句または SAME SORT-MERGE AREA 句で指定する必要がある。
  6. SAME AREA 句、SAME SORT AREA 句、SAME SORT-MERGE AREA 句、または SAME RECORD AREA 句で参照するファイルについては、編成または呼び出し法をすべて同じにする必要はない。
  7. MF 文字列には、予約語、定数、または利用者名を指定できない。
  8. END OF REEL/UNIT 句は、file-name-2 が順編成ファイルである場合にのみ使用できる。
  9. 単一の file-name-2 に複数の RERUN 句を指定できる。ただし次の制約がある。
    1. integer-1 RECORD 句を複数指定する場合、それらに同じ file-name-2 は指定できない。
    2. END OF REEL 句または END OF UNIT 句を複数指定する場合、それらに同じ file-name-2 は指定できない。
  10. CLOCK-UNITS 句を含む RERUN 句は、1 つだけ指定できる。
  11. OSVSVSC2 入出力管理段落内の各句は、後ろに終止符 (ピリオド) を続けてもよい。

一般規則

  1. ANS85 RERUN 句は注記になる。
  2. SAME AREA 句は、整列ファイルおよび併合ファイル以外の複数のファイルで、処理中に同じ記憶領域を使用することを指定する。共有する領域には、指定したファイルに割り当てられるすべての記憶領域が含まれる。したがって、複数のファイルを同時に開くことはできない。構文規則 5c を参照。
  3. SAME RECORD AREA 句は、現行の論理レコードの処理中に複数のファイルが同じ記憶領域を使用することを指定する。すべてのファイルを同時に開くことができる。SAME RECORD AREA 内の論理レコードは、その SAME RECORD AREA 句で指定したファイルのうち、開かれた各出力ファイルの論理レコード、および最後に読み込んだ入力ファイルの論理レコードと見なされる。これは、共有領域を暗黙的に再定義することに等しい。つまり、レコードは左詰めで配置される。
  4. MF APPLY 句は注記になる。
  5. MF MULTIPLE FILE 句は注記になる。
  6. SAME SORT AREA 句または SAME SORT-MERGE AREA 句を使用する場合は、1 つ以上の file-name を整列ファイルまたは併合ファイルとする。この句には、整列ファイルまたは併合ファイルでないファイルも指定できる。この句は、記憶領域の共有方法を以下のとおり指定する。
    1. SAME SORT AREA 句または SAME SORT-MERGE AREA 句は、指定した整列ファイルまたは併合ファイルをそれぞれ整列または併合する際に使用できる記憶領域を指定する。したがって、整列ファイルまたは併合ファイルを整列または併合するために割り当てた記憶領域は、いずれも他の整列ファイルまたは併合ファイルを整列または併合するために再利用できる。
    2. さらに、整列ファイルでも併合ファイルでもないファイルに割り当てた記憶領域を、必要に応じて、SAME SORT AREA 句または SAME SORT-MERGE AREA 句で指定した整列ファイルまたは併合ファイルを整列または併合するために割り当てることもできる。
    3. 整列ファイルでも併合ファイルでもないファイル間では、同じ記憶領域は共有されない。それらのファイル間で記憶領域を共有する場合は、該当するソース要素内に、それらのファイルを指定する SAME AREA 句または SAME RECORD AREA 句を含める。
    4. この句で指定した整列ファイルまたは併合ファイルを参照する SORT 文または MERGE 文の実行中は、この句で指定した整列ファイルでも併合ファイルでもないファイルを開くことはできない。