ILE COBOL ソース・プログラムは、複数のソース・ファイルから構成されます。 コピー・ブックや DDS ファイルなどの 1 つの 1 次ソース・ファイルと複数の 2 次ソース・ファイルという構成にすることができます。
2 次ソース・ファイルの CCSID は、1 次ソース・ファイルの CCSID と異なるものにすることができます。 この場合、2 次ファイルの内容は 1 次ソース・ファイルが ILE COBOL コンパイラーによって処理されるときに 1 次ソース・ファイルの CCSID に変換されます。
CCSID 65535 は、 ソース・ファイルの変換が行われないということを暗黙のうちに指定するものです。 1 次ソース・ファイル、2 次ソース・ファイルのどちらか、 またはそれら両方に CCSID 65535 が割り当てられる場合、変換は行われません。 2 次ソース・ファイルに 1 次ソース・ファイルの CCSID によって指定される文字セットで認識されない文字が含まれていると、ILE COBOL コンパイラーから構文エラーが報告されることがあります。
形式 2 の COPY ステートメントを使用してソース・プログラムに DDS ファイル記述が組み込まれた場合、CCSID 変換は行われません。 DDS ソースの CCSID がコピー先ソース・メンバーの CCSID と違っている場合には、 コピー元 DDS ソースに無効な文字がいくつか含まれていることがあります。 これらの文字は構文エラーとしてフラグが付けられます。
1 次ソース・ファイルと 2 次ソース・ファイルで CCSID が違っており、そのどちらも CCSID 65535 ではない場合、 コンパイル時のパフォーマンスに影響を与えることがあります。 ILE COBOL コンパイラーは、2 次ソース・ファイルの CCSID を 1 次ソース・ファイルの CCSID に変換するために時間を費やさなければなりません。 この時間はソース・ファイルのサイズに応じてかなり長時間になる場合もあります。 これは、以下の図のように示されます。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.