例えば RPG-CGI では、どの子プロセス上で CGI が実行されるか不明であるので
対話式プログラムとは違って、ライブラリー・リストに依存してファイルを暗黙的に
オープンすることができない。
このため RPG自身の中で、OVRDBF
を直接、行ってから OPEN命令
によってファイルを
明示的にオープンして使用後に, DLTOVR
してから CLOSE命令
を実行するという面倒な
作業が必要であった。明示的なファイル・オープンは暗黙的なファイル・オープンに比べて
オーバー・ヘッドも生じる。
V5R1M0
で追加されたファイル仕様書の EXTFILE キーワード
を使用すれば、
ライブラリー・リストに存在していないファイルであっても、ライブラリーを指定して
暗黙的なファイル・オープンが可能となる。
FSHOHIN IF E K DISK EXTFILE(SHOHIN_LIB) : : D SHOHIN_LIB S 21 INZ('QTRFIL/SHOHIN')
この例では、実行時に、ファイル : SHOHIN
がライブラリー・リストに存在していなくても
ライブラリー: QTRFIL
のファイル : SHOHIN
が、プログラム起動時に暗黙的にオープンされる。
D SHOHIN_LIB S 21 INZ('SHOHIN')
のようにライブラリーを指定しないのであれば、 *LIBL
によって SHOHIN
が検索される。
このように EXTFILE キーワード
は CGI 開発に有効であるが、コンパイル時には
そのファイルはライブラリー・リスト上に存在していなければならない。