IBM Extension
IBM Extension
COPY ステートメント - 形式 3 - 基本 IFS
COPY ステートメント - 形式 3 - 基本 IFS >>-COPY--+-テキスト名--+--+----------------------------+--------------------> '-リテラル-1--' '-+-OF-+--+-ライブラリー名-+-' '-IN-' '-リテラル-2-----' >--+--------------+--+-------------------+--.------------------->< | (1) | '-REPLACING--| 句 |-' '-SUPPRESS-----'
注:
- IBM® Extension
- literal-1 and literal-2
- リテラル -1 は、コピーするストリーム・ファイルの名前
です。
ライブラリー名
を省略すると、リテラルが直接、ファイル名、相対パス名、
または絶対パス名として使用されます (最初の文字が「/」の場合)。例えば、次のとおりです。

COPY "MyInc" COPY "x/MyInc" COPY "/u/user1/MyInc" COPY "/QSYS.LIB/QSYSINC.LIB/QCBLLESRC.FILE/JNI.MBR"
リテラル -2 は、コピー・ファイルのテキスト名またはリテラル -1 を探す、
実際のパス、相対パスまたは絶対パスとして扱われます。 - テキスト名
- テキスト名がユーザー定義の COBOL ワードであり、その名前の環境変数が
定義されている場合は、環境変数の値が、コピー・テキストを含むファイルの名前として
使用されます。その名前の環境変数が定義されていない場合は、
以下に指定された順番で、以下の名前に基づいて、コピー・テキストが検索されます。
1. text-name.cpy 2. text-name.CPY 3. text-name.cblle 4. text-name.CBLLE 5. text-name.cblleinc 6. text-name.CBLLEINC 7. text-name.cbl 8. text-name.CBL 9. text-name.cob 10. text-name.COB 11. text-name.MBR 12. テキスト名 - ライブラリー名
- ライブラリー名がユーザー定義の COBOL ワードの場合は、
その名前が環境変数として扱われます。環境変数の値は、
コピー・ファイル、テキスト名、またはリテラル -1 を探すパスとして使用されます。
環境変数を設定しないと、エラーが発生します。ライブラリー名とテキスト名の両方を
指定すると、コンパイラーは、それら 2 つの値の間にパス分離文字 (/) を挿入し、
ライブラリー名とテキスト名を連結することによって、コピー・テキストのパス名を作ります。
例えば、COPY MYCOPY OF MYLIB について以下のように設定されているとします。
これらの設定は、以下のようになります。MYCOPY=mystuff/today.cpy MYLIB=/u/user1
ライブラリー名が、コピー・テキストのコピー元のパスを示す環境変数の場合は、 以下のような ADDENVVAR コマンドを使用して、ライブラリー名を定義します。/u/user1/mystuff/today.cpy
環境変数の名前は英大文字でなければなりません。複数のコピー・ライブラリーを指定するには、 環境変数を : (コロン) で区切られた複数のパス名に設定します。 ライブラリー名が省略され、テキスト名が絶対パス名でない場合は、 コピー・テキストは、以下の順番で検索されます。ADDENVVAR ENVVAR(COPYLIB) VALUE(/u/mystuff/copybooks)- 現行ディレクトリー
- INCDIR パラメーターに指定したパス
- SYSLIB 環境変数で指定したパス
End of IBM Extension
