EXTFILE(ファイル名)

EXTFILE キーワードは、どのライブラリーのどのファイルがオープンされるかを指定します。 値にはリテラルまたは変数を指定できます。 値は次のいずれの形式でも指定できます。

ファイル名
ライブラリー名/ファイル名
*LIBL/ファイル名
注:
  1. ライブラリー名として *CURLIB は指定できません。
  2. ライブラリー名の指定なしにファイル名を指定した場合は、*LIBL が使用されます。
  3. 名前の大文字小文字は正確でなければなりません。たとえば、EXTFILE(ファイル名) を指定しその変数であるファイル名の値が 'qtemp/myfile' だったとすると、そのファイルは見付からないことになります。 ファイル名の値は 'QTEMP/MYFILE' でなければなりません。
  4. このキーワードは、コンパイル時に外部記述ファイルを見付けるのには使用されることはありません。
  5. 変数名が使用される場合、その変数はファイルがオープンされる前に設定されていることが必要です。 RPG サイクルの初期化部分で自動的にオープンされるファイルの場合、 変数を以下のいずれかの方法によって設定しておく必要があります。

RPG がオープンするファイルに対して一時変更を指定してある場合、その一時変更は効力を持ちます。 次のコーディングにおいて、RPG プログラム内で INPUT という名前を持つファイルの場合、実行時にオープンされるファイルは ファイル名 フィールドの値によって決まります。

 Finput     if   f   10        disk    extfile(ファイル名)

ファイル名 フィールドの値が実行時に MYLIB/MYFILE であれば、RPG はファイル MYLIB/MYFILE をオープンすることになります。コマンド OVRDBF MYFILE OTHERLIB/OTHERFILE が使用された場合は、オープンされる実際のファイルは OTHERLIB/OTHERFILE になります。INPUT はこの RPG ソース・メンバーの中で使用されている唯一の名前であるため、名前 INPUT に対してはいかなる一時変更も無視されることに注意してください。