OLDCOPY コンパイラ指令を設定すると、COPY 文の動作が若干変更される。具体的には、ANSI'74 および ANSI'85 規格の定義ではなく、旧 ANSI'68 規格の定義に準拠して動作するようになる。この変更後の動作は、IBM のメインフレーム上で LANGLVL(1) コンパイラ オプションを使用する際の、OS/VS COBOL および DOS/VS COBO Lの動作とも一貫性がある。
OLDCOPY コンパイラ指令を設定し、かつ 01 レベルのデータ記述全体をコピー メンバーに含める場合は、COPY 文およびコピーされるデータ記述の両方を 01 レベルのデータ項目で定義する。ただし、COBOL プログラムの残りの部分では、コピー文から得られたデータ名しか利用できない。次に例を示す。
ソース ファイルのコード:
01 PRODUCT-CODE COPY COPYPROD.
コピーブック コード「COPYPROD」:
01 PROD-CD. 05 ITEM-NAME PIC X(30). 05 ITEM-NUMBER PIC X(5).
結果の COBOL コード:
01 PRODUCT-CODE. 05 ITEM-NAME PIC X(30). 05 ITEM-NUMBER PIC X(5).