CRTCBLMOD の国別言語ソート・シーケンスの指定

ILE COBOL ソース・プログラムをコンパイルする時点で、 プログラムの実行時に使用する照合順序を明示的に指定したり、 プログラムの実行時に照合順序が判別される方法を指定したりすることができます。

照合順序を指定するには、最初に ALPHABET 文節を使用して SPECIAL-NAMES 段落の英字名 を定義し、 その英字名 を NLSSORT 実装者名と関連付けます。 次に、ENVIRONMENT DIVISION の中の PROGRAM COLLATING SEQUENCE 文節、 または SORT/MERGE ステートメントの COLLATING SEQUENCE 句の中でこの英字名 を参照することにより、 使用する照合順序が指定した英字名 によって決まるものであることを指定します。

使用する実際の照合順序は、CRTCBLMOD および CRTBNDCBL コマンドの SRTSEQ および LANGID パラメーターのオプションによって指定します。 たとえば、SRTSEQ(*JOBRUN) および LANGID(*JOBRUN) を指定する場合、 プログラムの照合順序は実行時に解決されます。 この値では、ソース・プログラムをいったんコンパイルして、実行時に異なった照合順序で使用できます。 SRTSEQ および LANGID と関連した PROCESS ステートメントのオプションを使用して照合順序を指定することもできます (PROCESS ステートメントを使用したコンパイラー・オプションの指定を参照)。

ソース・プログラムにその ALPHABET 文節の英字名 に関連する NLSSORT がない場合、 または NLSSORT を指定する ALPHABET 文節はあるが、 関連した英字名 が PROGRAM COLLATING SEQUENCE 文節または SORT/MERGE ステートメントの COLLATING SEQUENCE 句の中で 参照されていない場合、SRTSEQ と LANGID パラメーターによって識別されるソート・シーケンスは使用されません。

NLSSORT と関連した英字名 は、 ファイル記述 (FD) 記入項目の CODE-SET 文節の場合のようにして文字コード・セットを判別するために使用することはできません。 文字コード・セットを判別するために使用される英字名 は、 独立した ALPHABET 文節中で指定しなければなりません。

ALPHABET 文節、PROGRAM COLLATING SEQUENCE 文節、 および SORT/MERGE ステートメントに関する詳しい説明については、「WebSphere Development Studio: ILE COBOL 解説書」を参照してください。 SRTSEQ と LANGID パラメーターについては CRTCBLMOD コマンドのパラメーターを参照してください。