ファイル入出力の open に関する考慮事項

データベースと関係のないファイル入出力において、EGL open ステートメントは、指定されたレコード変数に関連付けられているファイルを開きます。

プログラム内のステートメントがファイルの状況にどのように影響するかを、下の表で説明します。
プログラム内のステートメント ファイル状況
EGL get ステートメントのみ 入力のために開く
EGL add ステートメントのみ 出力のために開く
EGL get ステートメントと EGL add ステートメントの両方 入出力のために開く
これらの EGL get ステートメントおよび EGL add ステートメントは実行する必要はありませんが、プログラム内に存在していなければなりません。 ファイルが EGL get ステートメントまたは EGL add ステートメントによって自動的に開いたため、EGL open ステートメントを使用して、実際の入出力を行うことなくファイルをクリアすることができます。

構文

ファイル入出力を使用した open ステートメントの構文図
注: SQL open ではなくファイル入出力 open であることを指示するために、キーワード file が必要です。
for recordVariable
キーワード for の後に、開くファイルに関連付けられている索引付きレコード、相対レコード、またはシリアル・レコードの名前が続きます。

制限

Java およびデバッガーにおける EGL open ステートメントの制限は以下のとおりです。
  • add ステートメントまたは get ステートメントが存在するかどうかに関係なく、ファイルは常に出力のために開きます。
  • ファイルの関連付けに replace = yes が定義されている場合のみ、ファイルはクリアされます。

次の例は、どのようにファイルをクリアするかを示しています。

      open file for myRecordVariable;
      if (0 == 1)
          add myRecordVariable;
      end
      close myRecordVariable;