COBOL2002 Cosminexus連携機能ガイド

[目次][用語][索引][前へ][次へ]

2.2.5 COPY文

COBOLアクセスでのCOPY文の機能について説明します。

<この項の構成>
(1) 言語規則
(2) 登録集原文の検索順序
(3) 環境変数

(1) 言語規則

(a) 形式

COPY文の指定形式は次のようになります。

[図データ]

(b) 機能

COPY文は,COBOL登録集原文の中へ別の原文を複写します。

(c) 構文規則
  1. このシステムでは上記形式以外の構文はサポートしません。
  2. COPY文は,空白のあとに続け,分離符の終止符でやめなければなりません。
  3. COPY文を記述した行は,完結したCOPY文だけで構成されていなければなりません。
  4. 原文名を構成する文字は,すべて半角で英文字(A〜Z,a〜z),数字,ハイフン,および下線とし,先頭は英文字でなければなりません。また,全角文字は使用できません。
  5. 上記以外の構文規則は,「2.2.2 COBOLアクセスを使用するためのCOBOL UAPの引数の規則」に従ってください。
(d) 一般規則
  1. COPY文を含む原文の解析は,論理的には,すべてのCOPY文を処理してから,原文の解析処理を行うことと同じです。
  2. COPY文を処理すると,予約語COPYに始まり終止符で終わるCOPY文全体が,原文名または原文名定数に対する原文で論理的に置き換わり,元の原文中に複写されます。
  3. 登録集原文が文法規則に従っているかどうかは,原文だけでは決定できません。COPY文を除いて,COBOL登録集原文全体が文法規則に従っているかどうかは,すべてのCOPY文が完全に処理されるまで決定できません。
  4. COPY文によって複写される原文の中にCOPY文がある場合,COPY文が入れ子(nest)になっているといいます。
    • COPY文の入れ子は19レベルまで許されます。
    • 再起的な複写は直接的にも間接的にも行ってはなりません。
  5. 固定形式の原文と自由形式の原文を混在して使用してはなりません。
  6. 原文名には,登録集原文が登録されているファイルの名称を,拡張子を付けないで指定します。登録集原文の検索順序については「(2) 登録集原文の検索順序」を参照してください。
  7. 原文名定数は,登録集原文が登録されているファイルの絶対パス名を引用符(”)またはアポストロフィ(’)で囲んで指定します。このとき,ファイル名には拡張子も付けてください。絶対パス名に全角文字は使用できません。

(2) 登録集原文の検索順序

原文名で指定したファイルは,拡張子,フォルダの二つの条件で検索されます。それぞれの検索順序は次の順序であり,両者のうちでは拡張子による検索順序が優先します。

(a) 拡張子による検索順序
  1. 環境変数CBLFREEで設定した自由形式拡張子
  2. .cbl
  3. .cob
  4. .cbf
(b) フォルダによる検索順序
  1. 環境変数CBLLIBで指定したフォルダ
  2. 「COBOLアクセス用Bean生成ウィザード−ステップ1/3」画面で指定した原文が存在するフォルダ

例えば,原文名を"ARGUMENT_CPY"とした場合,環境変数CBLFREEが設定されていないとき,"ARGUMENT_CPY.cbl"で1.2.の順にフォルダを検索し,目的のファイルがなければ,次に"ARGUMENT_CPY.cob"で同様に検索します。

(3) 環境変数

COPY文では,環境変数CBLFREEとCBLLIBを使用します。

(a) CBLFREE

自由形式正書法で書かれた原文として使用する登録集原文の拡張子を設定します。詳細は「2.2.3 COBOL UAPの引数を含む登録集原文の記述規則」を参照してください。

(b) CBLLIB

登録集原文を格納するフォルダを設定します。フォルダを複数指定する場合は,セミコロン(;)で区切って指定してください。また,フォルダに全角文字は使用できません。

(例)
 
CBLLIB=c:\copylib;c:\test