RPGの外部記述ファイルでは一般にライブラリー・リストに従って外部ファイルが検索されて、
実行が行われる。
しかし外部記述ファイルのライブラリー名を明示的に指定したい場合がなかったであろうか?
例えば CGI は、どのスレッドで実行されるか不明であるのでライブラリー・リストに依存する
ことはできない。
そこでCGI 内部で OVRDBF によってライブラリーを指定してからユーザー・オープンでファイル
をオープンする手法がとられてきた。
使用後にはクローズしてから DLTOVR
を実行する必要もあった。
このような冗長な処理を避けることができる「EXTFILE」というキー・ワードがV5R1M0 から
追加されている。
【例】ライブラリー QTRFIL のファイル SHOHIN を指定する。
ファイル仕様書で EXTFILE を指定して、パラメータの内容をD仕様書で記述する。
0001.00 H DFTNAME(RPG005) DATEDIT(*YMD/) 0002.00 F********** EXTFILE サンプル ************************************* 0003.00 FSHOHIN IF E K DISK EXTFILE(SHOHIN_LIB) 0004.00 F***************************************************************** 0005.00 D SHOHIN_LIB S 21A INZ('QTRFIL/SHOHIN') 0006.00 C *LOVAL SETLL SHOHIN 0007.00 C DO *HIVAL 0008.00 C SETOFF 50 0009.00 C READ SHOHIN 50 0010.00 C 50 LEAVE 0011.00 C END 0012.00 C SETON LR 0013.00 C RETURN 0014.00 C END TAG
【 解説 】
SHOHIN_LIB
というフィールドは固定情報でなくてもよい。
EXTFILE キーワードを使用すれば CGI では効果的である。
ただしコンパイル時にはライブラリー・リストは従来どおり必要である。