ILE COBOL 解説書

+----------------------------------IBM 拡張----------------------------------+

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

COPY ステートメント - 形式 3 - 基本 IFS
 
>>-COPY--+-テキスト名-+--+----------------------------+--------->
         '-リテラル-1-'  '-+-OF-+--+-ライブラリー名-+-'
                           '-IN-'  '-リテラル-2-----'
 
>--+---------------+--+-------------------+--.-----------------><
   |          (1)  |  '-REPLACING--| 句 |-'
   '-SUPPRESS------'
 
 

注:

  1. IBM 拡張

literal-1 and literal-2
リテラル -1 は、コピーするストリーム・ファイルの名前 です。 ライブラリー名 を省略すると、リテラルが直接、ファイル名、相対パス名、 または絶対パス名として使用されます (最初の文字が「/」の場合)。たとえば、次のとおりです。
COPY "MyInc"
COPY "x/MyInc"
COPY "/u/user1/MyInc" 

リテラル -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. text-name
ライブラリー名
ライブラリー名がユーザー定義の 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 拡張-------------------------------+


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]