注: このセクションでは、コンパイラ指令文 DEFINE、EVALUATE、および IF は、ISO2002用語の指令を使用して言及されます。DEFINE コンパイラ オプションに言及する際は、そのように明示的に言及されます。
ISO2002 条件付きコンパイルでは、コンパイル変数を定義するために DEFINE コンパイラ オプションまたは DEFINE 指令、あるいはその両方を使用します。次にこれらのコンパイル変数を IF 指令および EVALUATE 指令で使用して、選択した行のソース コードを含めるか除外することで、同じプログラムの複数のバリアントを作成できる単一のソース コードを維持できるようになります。
ISO2002 条件付きコンパイル指令は、次の規則に従って処理されます。
- 指令が COPY 文または REPLACE 文の前にある場合は、COPY文または REPLACE 文が処理される前に処理されます。つまり、ISO2002 条件付きコンパイルを使用して、プログラムから COPY 文および REPLACE 文を除外することができます。
- REPLACE 文または COPY 文の REPLACING 指定は、いずれの条件付きコンパイル指令にも影響しません。
- 指令はコピーブックに表示できます。