USE 文

USE 文は、入出力エラーを処理するための手続きを指定する。この手続きは、入出力管理システムによって行われる標準の手続きに加えて行われる。

書き方 1 の一般形式 (順編成ファイル、相対ファイル、および索引ファイル)


USE - FORMAT 1
OSVSVSC2 

書き方 2 の一般形式 (レコード順編成ファイル)


USE - FORMAT 2
OSVSVSC2 

書き方 3 の一般形式 (相対ファイルおよび索引ファイル)


USE - FORMAT 3

すべての書き方に関する構文規則 (すべてのファイル)

  1. 書き方 1 は、エラーに関する宣言である。

    OSVSVSC2 書き方 2 および 3 は、ラベルに関する宣言である。

  2. USE 文 (ある場合) は、宣言節の節見出しの直後から書き始め、ピリオドに続く空白を末尾とする。
  3. USE 文自体を実行することはない。USE 文は、USE 手続きの実行の呼び出し条件のみを定義する。
  4. USE 文で明示的または暗黙的に参照するファイルは、すべて同じ編成または呼び出し法のものである必要はない。

書き方 1 の構文規則 (順編成ファイル、相対ファイル、および索引ファイル)

  1. この書き方に従った別の指定配置に、同じファイル名 (file-name) を記述してもよい。USE 文で指定したファイル名が、複数の USE 手続きの実行を同時に要求することはできない。

    ANS85 同じ手続き部内の複数の USE AFTER EXCEPTION 文で、同じファイル名を使用することはできない。

  2. ERROR および EXCEPTION は同意語であり、どちらを使用してもよい。
OSVSVSC2 

書き方 2 および 3 の構文規則 (レコード順編成ファイル、相対ファイル、および索引ファイル)

  1. OSVSVSC2 BEGINNING および ENDING を両方とも省略すると、BEGINNING および ENDING を両方指定した場合と同じ効果がある。
OSVSVSC2 

書き方 2 の構文規則 (レコード順編成ファイル)

  1. OSVSVSC2 REEL および UNIT は同意語として扱われる。
  2. OSVSVSC2 FILE および REEL/UNIT を両方とも省略すると、FILE および REEL/UNIT を両方指定した場合と同じ効果がある。
  3. OSVSVSC2 BEGINNING/ENDING および FILE/REEL の有効な組み合わせは以下のとおりであり、各組み合わせに対して、任意の 1 つのファイル名および任意の 1 つの OPEN モードを 1 つの宣言でのみ指定できる。
    • BEGINNING FILE
    • BEGINNING REEL/UNIT
    • ENDING FILE
    • ENDING REEL/UNIT

すべての書き方に関する一般規則 (すべてのファイル)

  1. USE 手続きの実行後、呼び出す側のルーチンに制御が戻る。例外をトラップした場合は、制御が戻らない。
  2. USE 手続き内では、非宣言手続きを参照できない。逆に、非宣言部分では宣言部分内の手続き名を参照できない。ただし、PERFORM 文は USE 文を参照できる。

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

  3. 呼び出されたがまだ呼び出す側のルーチンに制御を戻していない USE 手続きを実行させるような文を、実行してはならない。

書き方 1 の一般規則 (順編成ファイル、相対ファイル、および索引ファイル)

  1. 指定した手続きは、標準入出力エラー ルーチンの完了後、または入出力文で AT END を指定していない場合は AT END 条件を検出した時点で、入出力システムによって実行される。
  2. ANS85 file-name-1 を明示的に指定した場合、他の USE 文は file-name-1 に適用されない。
  3. GIVING 指定は注記になる。
OSVSVSC2 

書き方 2 および 3 の一般規則 (レコード順編成ファイル、相対ファイル、および索引ファイル)

  1. OSVSVSC2 BEGINNING を明示的または暗黙的に指定すると、適用可能な OPEN 文の実行中に以下の処理が行われる。
    オープン モード 処理
    INPUT
    1. 見出しラベルを読み取る
    2. 開始宣言を実行する
    OUTPUT
    1. 開始宣言を実行する
    2. 見出しラベルを書き込む
    I-O
    1. 見出しラベルを読み取る
    2. 開始宣言を実行する
    3. 見出しラベルを書き込む
    EXTEND
    1. 見出しラベルを読み取る
    2. 開始宣言を実行する (終了ラベルは見出しとして扱われる)
    3. 見出しラベルを書き込む
  2. OSVSVSC2 ENDING を明示的または暗黙的に指定すると、適用可能な CLOSE 文の実行中に以下の処理が行われる。
    オープン モード 処理
    INPUT
    1. 終了ラベルを読み取る
    2. 終了宣言を実行する
    OUTPUT
    1. 終了宣言を実行する
    2. 終了ラベルを書き込む
    I-O
    1. 終了ラベルを読み取る
    2. 終了宣言を実行する
    3. 終了ラベルを書き込む
    EXTEND
    1. 終了宣言を実行する
    2. 終了ラベルを書き込む
  3. OSVSVSC2  宣言手続き内の GO TO MORE-LABELS 文は、その宣言手続きの先頭に単に移動するものとして扱われる。