ENDFILE

目的

ENDFILE ステートメントは、 順次アクセス用に接続された外部ファイルの次の レコードとしてファイルの最後のレコードを書き込みます。 このレコードはファイルの最後のレコードになります。

ストリーム・アクセス用に接続されたファイルでは、ENDFILE ステートメントは、終端点を現在の ファイル位置にします。 現在の位置より前のファイル記憶単位は書き込み済みであると見なされ、読み取ることができます。 ストリーム出力ステートメントを続けて使用することによって、 さらにデータをファイルに書き込むことができます。

構文



>>-ENDFILE--+-u-------------------+----------------------------><
            '-(--position_list--)-'
 
 

u
外部装置識別子です。 u の値はアスタリスク、またはホレリス定数であってはなりません。

position_list
装置指定子 ([UNIT=]u) を 必ず 1 つ含んでいなければならないリストです。このリストには、 他の有効な各指定子を 1 つずつ入れることができます。

[UNIT=] u
装置指定子です。u は外部装置指定子で、 その値はアスタリスクであってはなりません。 外部装置識別子はスカラー整数式 (1 〜 2147483647 の値を持つ) で表される 外部ファイルを示します。 オプションの文字である UNIT= を省略する場合は、position_list の最初の項目として u を指定しなければなりません。

IOMSG= iomsg_variable
入出力操作によって戻されるメッセージを指定する入出力状況指定子です。 iomsg_variable は、デフォルトのスカラー文字変数です。これを、使用関連付けされた非ポインター保護変数にすることはできません。 この指定子を含む入出力ステートメントの実行が完了すると、iomsg_variable は以下のように定義されます。

IOSTAT= ios
入出力操作の状況を示す入出力状況指定子です。 ios は、INTEGER(4) 型のスカラー変数または デフォルトの整数です。 ENDFILE ステートメントの実行が完了すると、ios の 値は次のように定義されます。

ERR= stmt_label
エラーが発生した場合に制御が移される同じ有効範囲単位内の 実行可能ステートメントのステートメント・ラベルを指定するエラー指定子です。 ERR= 指定子をコーディングすると、エラー・メッセージは抑制されます。

規則

+----------------------------------IBM 拡張----------------------------------+

装置が接続されていない場合、fort.n という名前 のデフォルトのファイルに対して順次アクセスを指定する暗黙の OPEN ステートメントが実行されます。 ここで、n は先行ゼロを除去した u の値です。

2 つの ENDFILE ステートメントを同一のファイルに対して実行 した場合、それらの間に REWIND または BACKSPACE ステートメントがなければ、2 番目の ENDFILE ステートメントは無視されます。

+------------------------------End of IBM 拡張-------------------------------+

順次アクセス用に接続されたファイルに対して ENDFILE ステートメントを実行した後は、 データ転送入出力ステートメントを実行する前に、BACKSPACE または REWIND ステートメントを 使用してファイルの位置を指定し直す必要があります。

ERR=IOSTAT= 指定子が設定されているときにエラーが 検出されると、ERR= 指定子によって指定されたステートメントに対して 転送が行われ、正の整数値が ios に割り当てられます。

+----------------------------------IBM 拡張----------------------------------+

IOSTAT=ERR= も指定していない場合は、以下のとおりです。

+------------------------------End of IBM 拡張-------------------------------+

      ENDFILE 12
      ENDFILE (IOSTAT=IOSS,UNIT=11)

関連情報

IBM Copyright 2003