2.2.5 COPY文
COBOLアクセスにおけるCOPY文の機能について以下説明します。
- 〈この項の構成〉
(1) 言語規則
(a) 形式
COPY文の指定形式は以下のようになります。
(b) 機能
COPY文は,COBOL登録集原文の中へ別の原文を複写します。
(c) 構文規則
-
このシステムでは上記形式以外の構文はサポートしません。
-
COPY文は,空白の後に続け,分離符の終止符で止めなければなりません。
-
COPY文を記述した行は,完結したCOPY文のみで構成されていなければなりません。
-
原文名を構成する文字は,すべて半角で英文字(A〜Z,a〜z),数字,ハイフン,およびアンダーバーとし,先頭は英文字でなければなりません。また,全角文字は使用できません。
-
上記以外の構文規則は,「2.2.2 TP1/COBOLアクセスを使用するためのCOBOL SPP/MHPの引数の規則」に従ってください。
(d) 一般規則
-
COPY文を含む原文の解析は,論理的には,すべてのCOPY文を処理してから,原文の解析処理を行なうことと同じです。
-
COPY文を処理すると,予約語COPYに始まり終止符で終わるCOPY文全体が,原文名または原文名定数に対する原文で論理的に置き換わり,元の原文中に複写されます。
-
登録集原文が文法規則に従っているかどうかは,原文だけでは決定できません。COPY文を除いて,COBOL登録集原文全体が文法規則に従っているかどうかは,すべてのCOPY文が完全に処理されるまで決定できません。
-
COPY文によって複写される原文の中にCOPY文がある場合,COPY文が入れ子(nest)になっているといいます。
-
COPY文の入れ子は19レベルまで許されます。
-
再起的な複写は直接的にも間接的にも行ってはなりません。
-
-
固定形式の原文とフリー形式の原文を混在して使用してはなりません。
-
原文名には,登録集原文が登録されているファイルの名称を,拡張子を付けないで指定します。登録集原文の検索順序については「(2) 登録集原文の検索順序」をご覧ください。
-
原文名定数は,登録集原文が登録されているファイルの完全ファイル名を引用符(”)またはアポストロフィ(’)で囲んで指定します。このとき,ファイル名には拡張子も付けてください。完全ファイル名に全角文字は使用できません。
(2) 登録集原文の検索順序
原文名で指定したファイルは,拡張子,フォルダの二つの条件で検索されます。それぞれの検索順序は次の順序であり,両者のうちでは拡張子による検索順序が優先します。
(a) 拡張子による検索順序
-
環境変数CBLFREEで設定したフリー形式拡張子
-
.cbl
-
.cob
-
.cbf
(b) フォルダによる検索順序
-
環境変数CBLLIBで指定したフォルダ
-
ウィザードのステップ1/3画面で指定した原文が存在するフォルダ
例えば,原文名を"ARGUMENT_CPY"としたとき,環境変数CBLFREEが設定されていない場合,"ARGUMENT_CPY.cbl"で1.2.の順にフォルダを検索し,目的のファイルがなければ,次に"ARGUMENT_CPY.cob"で同様に検索します。
(3) 環境変数
COPY文では,CBLFREEとCBLLIBの環境変数を使用します。
(a) CBLFREE
フリー形式正書法で書かれた原文として使用する登録集原文の拡張子を設定します。詳細は「2.2.4 SPP/MHPの引数を含む登録集原文の記述規則」をご覧ください。