ロケール とは、情報処理における、言語および文化に固有の規則を集めたものです。 ロケールによって、言語および国/地域別環境に関する情報が実行時に使用可能となり、同じプログラムまたはメソッドで、国または地域ごとに異なる方法でデータを表示または処理できます。
ロケールの詳細、特定の言語および国/地域別環境に対するロケールの設定方法については、「COBOL for Windows プログラミング・ガイド」を参照してください。
一般に、COBOL アプリケーションが活動化される際に、COBOL ランタイムによって有効なロケールが決定されます。ただし、以下の処理はコンパイル時に有効なロケールに基づいて行われます。
コンパイラーはコンパイル時に有効なロケールによって示されるコード・ページを使用してソース・プログラムを評価します。この評価には、ユーザー定義名およびリテラル値の評価が含まれます。
リテラル値がコード・ページの変換を必要とするデータ項目などに関連付けられる場合、データ項目には実行時に有効なコード・ページが使用されます。ネイティブ ASCII エンコードが指定された英数字クラスの項目の場合は、実行時に有効な ロケールが示すコード・ページが使用されます。EBCDIC エンコードが指定された英数字クラスの項目の場合は、実行時に有効な EBCDIC コード・ページが使用されます。
COLLSEQ(LOCALE) コンパイラー・オプションまたは NCOLLSEQ(LOCALE) コンパイラー・オプションが有効な場合、コンパイル時のロケールによって以下の値が決定されます。
以下のセクションでは、COBOL ランタイム処理でのロケールの影響について説明します。
ランタイムのロケールを使用して、以下のものが決定されます。
2 つの実行時コード・ページを有効にすることが可能です。1 つはネイティブ・データ用 (非 EBCDIC データ)、もう 1 つはホスト・データ用 (EBCDIC データ) です。 これらの実行時コード・ページを判別する方法については、「COBOL for Windows プログラミング・ガイド」で説明しています。
一般に、COBOL for Windows では、COLLSEQ(LOCALE) コンパイラー・オプションまたは NCOLLSEQ(LOCALE) コンパイラー・オプションが有効な場合に、ランタイムのロケールで定義される照合シーケンスを使用します。COLLSEQ(LOCALE) は 英数字および DBCS データ項目に、NCOLLSEQ(LOCALE) は USAGE NATIONAL で記述された項目 に影響を及ぼします。
COLLSEQ(BINARY) または NCOLLSEQ(BINARY) が指定された場合、バイナリー照合シーケンスが使用されます。
COLLSEQ または NCOLLSEQ コンパイラー・オプションの設定にかかわらず、言語規則によって非ロケールの照合シーケンスの使用が指定される場合もあります。以下に例を示します。
COBOL for Windows では、言語、国、およびコード・ページの一定の組み合わせで、ロケールがサポートされます。システム環境変数は、特定のロケールのカテゴリーに有効なランタイムのロケールを示しています。詳細は、「COBOL for Windows プログラミング・ガイド」を参照してください。