図1-2-COPY構文
COPY文は、プログラムにコピーブック(1.2.2)をインポートするために使われる。
opensource COBOLは、コピーブックの使用を完全にサポートしている。コピーブックとは、COPY文も入れた全てのCOBOL構文を含む個別のソースファイルのことである。
COPY文は、コピーブックに含まれるコードが構文的に有効であるCOBOLプログラム内のどこでも使用できる。
上記の構文図では、COPY文の最後のピリオドと、REPLACING句を強調している。経験のあるCOBOLプログラマの目には、ピリオドがあるべきではないと思われる場合でも、全てのCOPY文の最後にはピリオドが絶対に必須である。
コンパイルプロセスが開始される前に、全てのCOPY文が決定され、対応するコピーブックの内容がプログラムのソースコードに挿入される。
オプションのREPLACING句を使用すると、予約語(語-1、語-2)、データ項目(一意名-1、一意名-2)、定数(定数-1、定数-2)、または空白で区切られたフレーズを置き換えることができる。コピーブックがプログラムに含まれているため、何度でも置換を行うことができる。
オプションのREPLACING句の使用時にLEADINGおよびTRAILINGを指定すると、予約語またはユーザ定義語の先頭(LEADINGを参照)または末尾(TRAILINGを参照)にある文字順序を置き換えることができる。例えば、「0100-xxxxxx」の単語を「020-xxxxxx」に変換するには、LEADING ==0100-== BY ==020-== とコーディングする。「0100-」の単語を削除するには、LEADING ==0100-== BY ==== とコーディングする。
オプションのJOINING句の使用時にPREFIXを指定すると、コピーブックで定義されているデータ名、条件名、定数名の前に語-3とハイフン「–」が付けられる。
オプションのJOINING句の使用時にSUFFIXを指定すると、コピーブックで定義されているデータ名、条件名、定数名の後ろにハイフン「–」と語-3が付けられる。
オプションのPREFIXING句を使用すると、コピーブックで定義されているデータ名、条件名、定数名の前に語-4が付けられる。
オプションのSUFFIXING句を使用すると、コピーブックで定義されているデータ名、条件名、定数名の後ろに語-5が付けられる。
プログラムのコンパイル時にopensource COBOLコンパイラがコピーブックを見つける方法の詳細については、「8.1.8 コンパイル時のコピーブックの検索」で説明する。