IBM Extension
IBM Extension

COPY ステートメント - 形式 3 - 基本 IFS

構文図を読む構文図をスキップする
COPY ステートメント - 形式 3 - 基本 IFS

>>-COPY--+-テキスト名--+--+----------------------------+-------------------->
         '-リテラル-1--'  '-+-OF-+--+-ライブラリー名-+-'   
                            '-IN-'  '-リテラル-2-----'     

>--+--------------+--+-------------------+--.-------------------><
   |          (1) |  '-REPLACING--| 句 |-'      
   '-SUPPRESS-----'                            

注:
  1. 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
これらの設定は、以下のようになります。
/u/user1/mystuff/today.cpy
ライブラリー名が、コピー・テキストのコピー元のパスを示す環境変数の場合は、 以下のような ADDENVVAR コマンドを使用して、ライブラリー名を定義します。
ADDENVVAR ENVVAR(COPYLIB) VALUE(/u/mystuff/copybooks)
環境変数の名前は英大文字でなければなりません。複数のコピー・ライブラリーを指定するには、 環境変数を : (コロン) で区切られた複数のパス名に設定します。 ライブラリー名が省略され、テキスト名が絶対パス名でない場合は、 コピー・テキストは、以下の順番で検索されます。
  1. 現行ディレクトリー
  2. INCDIR パラメーターに指定したパス
  3. SYSLIB 環境変数で指定したパス
End of IBM Extension
End of IBM Extension