USE(使用)文

USE(使用)文は、入出力誤りを処理するための手続きを指定する。この手続きは、入出力管理システムによって行われる標準の手続きに、更に追加して行うものである。

一般形式

形式 1 (順ファイル、相対ファイルおよび索引ファイル)

形式 2 (レコード順ファイル)

形式 3 (相対ファイルおよび索引ファイル)

構文規則

すべての形式 (すべてのファイル)
  1. 形式 1は、誤りに関する宣言である。

    形式 2 および 3ラベルに関する宣言である。

  2. USE文を記述する場合は、宣言節の見出しの直後から書き始め、終止符(.)に続く空白で止める。.

  3. USE文自体は、実行されることはなく、USE手続きの実行を求める条件を定義するだけである。

  4. USE文の中で明示的または暗黙的に参照されるファイルは、すべて同じ編成または呼出し法のものである必要はない。
形式 1 (順ファイル、相対ファイルおよび索引ファイル)
  1. この形式に従った別々の形の記述中に、同じファイル名が現れてもよい。USE文中に指定したファイル名によって、複数のUSE手続きの実行が同時に要求されるようなことがあってはならない。

    同じ手続き部内の複数のUSE AFTER EXCEPTION手続き中に、同じファイル名が現れてはならない。

  2. ERRORとEXCEPTIONは同義語であり、どちらを使用してもよい。
形式 2 および 3 (レコード順ファイル、相対ファイルおよび索引ファイル)
  1. BEGINNINGとENDINGの指定を両方とも省略すると、BEGINNINGとENDINGが共に指定されたものとみなされる。
形式 2 (レコード順ファイル)
  1. REELとUNITは同義語として扱われる。

  2. FILEとREEL/UNITの指定を両方とも省略すると、FILEとREEL/UNITが共に指定されたものとみなされる。

  3. BEGINNING/ENDINGとFILE/REELの下記の組合わせのそれぞれに対して、任意の1つのファイル名および任意の1つのOPENモードを指定できる。

    BEGINNING FILE
    BEGINNING REEL/UNIT
    ENDING FILE
    ENDING REEL/UNIT

一般規則

すべての形式 (すべてのファイル)
  1. USE手続きの実行が終わると、呼出し元の手順に制御が戻される。

  2. USE手続き内では、非宣言手続きを参照してはならない。逆に、非宣言部分では、宣言部分中の手続き名を参照してはならない。ただし、PERFORM文でUSE文を参照することはできる。

    この制限は無視してもよい。

  3. 呼び出されたがまだ呼び出し元の手順に制御が戻されていないUSE手続きを実行させるような文を、実行してはならない。
形式 1 (順ファイル、相対ファイルおよび索引ファイル)
  1. 指定した手続きは、標準入出力誤り手順が終了した後で、または入出力文中にAT END指定をしなかった場合はAT END条件が検出された時点で、入出力システムによって実行される。

  2. ファイル名-1を明示的に指定した場合は、他のUSE手続きはファイル名-1に適用されない。

  3. GIVINGは注記の目的だけに使用する。
形式 2 および 3 (レコード順ファイル、相対ファイルおよび索引ファイル)
  1. BEGINNING指定を明示的または暗黙的に指定すると、適用可能なOPEN文の実行中に、下記の措置が取られる。

    Open文のモード 措置
    INPUT
    1. 見出しラベルを読む
    2. 開始宣言を実行する
    OUTPUT
    1. 開始宣言を実行する
    2. 見出しラベルを書く
    I/O
    1. 見出しラベルを読む
    2. 開始宣言を実行する
    3. 見出しラベルを書く
    EXTEND
    1. 見出しラベルを読む
    2. 開始宣言を実行する(終わりファイル・ラベルは見出しとして扱われる)
    3. 見出しラベルを書く

  2. ENDING指定を明示的または暗黙的に指定すると、適用可能なCLOSE文の実行中に、下記の措置が取られる。

    Open文のモード 措置
    INPUT
    1. 終わりファイル・ラベルを読む
    2. 終了宣言を実行する
    OUTPUT
    1. 終了宣言を実行する
    2. 終わりファイル・ラベルを書く
    I/O
    1. 終わりファイル・ラベルを読む
    2. 終了宣言を実行する
    3. 終わりファイル・ラベルを書く
    EXTEND
    1. 終了宣言を実行する
    2. 終わりファイル・ラベルを書く

  3. GO TO MORE-LABELS文はそれが現れる宣言手続きの先頭への単純なジャンプとして扱われる。