組み込みファイル
/COPY 指示および /INCLUDE 指示では、QSYS ファイル・システムまたは IFS いずれかのファイルを指定することができます。コンパイラーが、指示が参照するファイル・システムを認識できない場合は、 /COPY 指示が入っているファイルのファイル・システムで検索が開始されます。
コンパイラーが /COPY ステートメントを検出すると、
そのステートメントは IFS または QSYS ファイル・システム内のファイルを参照できるようになります。
名前の先頭がスラッシュの場合、または名前が単一引用符で囲まれて指定された場合、
その名前は IFS のファイルだけを指すことになります。
IFS の名前の指定には、二重引用符も使用できます。
次のように、名前の一部分しか二重引用符で囲まれていない場合、
/copy "SOME-LIB"/QRPGLESRC,MBR
その名前は QSYS ファイル・システム名のみを指すことになります。名前が QSYS ファイル・システムの名前か、IFS の名前か分からない場合は、 最初に、/COPY ステートメントが入っているファイルのファイル・システムが検索されます。 大文字は、QSYS ファイル・システムでは使用できますが (ただし、"A/B" のように二重引用符を使って指定する拡張名は除きます)、 IFS では使用できないことに注意してください (IFS では大文字小文字の区別がありません)。
| /Copy ステートメント | QSYS での解釈 | IFS での解釈 (".suffix" の意味については、下記を参照) |
|---|---|---|
| /COPY MYMBR | FILE(*LIBL/QRPGLESRC) |
組み込みパス内のディレクトリーの 1 つにある MYMBR または MYMBR.suffix |
| /COPY mymbr | FILE(*LIBL/QRPGLESRC) |
組み込みパス内のディレクトリーの 1 つにある mymbr または mymbr.suffix |
| /COPY myfile,mymbr | FILE(*LIBL/MYFILE) |
myfile,mymbr または myfile,mymbr.suffix (MYFILE,MYMBR は統合ファイル・システムの有効な名前であることに注意) |
| /COPY mylib/myfile,mymbr | FILE(MYLIB/MYFILE) |
mylib/myfile,mymbr (ディレクトリー mylib およびファイル myfile,mymbr) |
| /COPY "A/b",mymbr | FILE(*LIBL/"A/b") |
N/A (名前の一部分しか二重引用符で囲まれていない) |
| /COPY "A/B" | FILE(*LIBL/QRPGLESRC) |
A/B |
| /COPY a b | FILE(*LIBL/QRPGLESRC) |
a または a.suffix |
| /COPY 'a b' | N/A (名前が単一引用符で囲まれている) | a b または a b.suffix |
| /COPY /home/mydir/myfile.rpg | N/A (名前がスラッシュで始まる) | /home/mydir/myfile.rpg |
/COPY /QSYS.LIB/ |
N/A (名前がスラッシュで始まる) | /QSYS.LIB/L.LIB/F.FILE/ |
注: IFS でファイルを検索している場合、
ファイル名にドットが入っていないと、
RPG コンパイラーは次の拡張子を持つファイルを (この順序で) 検索します。
- 拡張子なし (abc)
- .rpgleinc (abc.rpgleinc)
- .rpgle (abc.rpgle)