IFS 内で /COPY ファイルおよび /INCLUDE ファイルを探す場所を示す方法は 2 つあります。
- INCDIR パラメーター。ディレクトリーを検索順にリストします。
- RPGINCDIR 環境変数。ディレクトリーを検索順にコロンで区切って指定したリストが入っています。
この環境変数を設定するには、ADDENVVAR コマンド
または CHGENVVAR コマンドを使用します。
例: ADDENVVAR
ENVVAR(RPGINCDIR) VALUE('/home/mydir:/project/prototypes')ADDENVVAR
IFS で
相対ファイル (パスの先頭が / ではないファイル)
を検索する場合は、ファイルは次の場所および次の順序で検索されます。
- 現行ディレクトリー
- INCDIR コマンド・パラメーターで指定されたパス
- RPGINCDIR 環境変数内のディレクトリー
- ソース・ディレクトリー (ソースが IFS ファイルの場合)
次に例を示します。
- 現行ディレクトリーが /home/auser。
- INCDIR パラメーターが /driver/r1.2/inc:/driver/r1.1/inc。
- RPGINCDIR 環境変数が /home/auser/temp。
- ソースがディレクトリー /home/auser/src 内。
ディレクトリー検索パスは、デフォルト拡張子の順序に優先します。
拡張子のないファイルを複数の異なるディレクトリーで検索する場合は、
次のディレクトリーに変換する前に、各ディレクトリーですべての拡張子を付けた検索が行われます。
表 1. /Copy ファイルの検索順序| /Copy ステートメント |
検索するファイル |
IFS では、/COPY が入っている
ソース・ファイルは
/driver/src/main.rpg であると見なす
/COPY file.rpg
|
IFS の場合:
/home/auser/file.rpg
/driver/r1.2/inc/file.rpg
/driver/r1.1/inc/file.rpg
/home/auser/temp/file.rpg
/home/auser/src/file.rpg
QSYS の場合:
FILE(*LIBL/QRPGLESRC) MBR(FILE.RPG)
|
QSYS ファイル・システムでは、
/COPY が入っているソース・ファイルは
MYLIB/QRPGLESRC MYMBR であると
見なす
/COPY file
|
QSYS の場合:
FILE(*LIBL/QRPGLESRC) MBR(FILE)
IFS の場合:
/home/auser/file
/home/auser/file.rpgleinc
/home/auser/file.rpgle
/driver/r1.2/inc/file
/driver/r1.2/inc/file.rpgleinc
/driver/r1.2/inc/file.rpgle
/driver/r1.1/inc/file
/driver/r1.1/inc/file.rpgleinc
/driver/r1.1/inc/file.rpgle
/home/auser/temp/file
/home/auser/temp/file.rpgleinc
/home/auser/temp/file.rpgle
/home/auser/src/file
/home/auser/src/file.rpgleinc
/home/auser/src/file.rpgle
|