opensource COBOLコンパイラは、以下のフォルダでコピーブック(COPY文を介してコンパイルプロセスに持ち込まれたソースコードモジュール)を検索する。検索は以下の順序で実行され、コピーブックが見つかると終了する。
- コンパイルされるプログラムが存在するフォルダ。
- 「 -I 」コンパイラスイッチ(8.1.2を参照)で指定されたフォルダ。
- COBCPY環境変数(8.1.7を参照)で指定された各フォルダ。システムに適した区切り文字で区切ることによって、単一のフォルダあるいは複数のフォルダを指定することができる。
34
複数のフォルダを指定した場合、環境変数で指定された順序で検索される。 - COB_COPY_DIR環境変数(8.1.7を参照)で指定されたフォルダ。
上記の各フォルダでコピーブック―例えば「COPY XXXXXXXX」―が検索されると、opensource COBOLコンパイラは次のいずれかの名前で順にコピーブックファイルを検索する。
- XXXXXXXX.CPY
- XXXXXXXX.CBL
- XXXXXXXX.COB
- XXXXXXXX.cpy
- XXXXXXXX.cbl
- XXXXXXXX.cob
- XXXXXXXX
UNIXシステムではCOPYコマンドの大文字と小文字が区別される。「COPY copybookname」と「COPY COPYBOOKNAME」はどちらも、UNIXシステムで「CopyBookName」コピーブックを見つけることはできない。opensource COBOLのWindows実装では、Windowsのバージョンとopensource COBOLビルドオプションに応じて、コピーブック名の大文字と小文字が区別される場合とされない場合があるが、すべての環境でCOPYコマンドを大文字と小文字を区別するものとして扱うのが最も安全である。
34
opensource COBOLコンパイラがネイティブWindows環境用に構築されている場合は、セミコロン(;)を使用する。ただし、opensource COBOLコンパイラがUnixまたはLinux環境用、またはCygwinやMinGW Unix「エミュレータ」を使ったWindows環境用に構築されている場合は、区切り文字としてコロン文字(:)を使用する。