コンパイル時に有効なロケールを検証するには、コンパイラー・リストの最後の数行を検査します。
アプリケーションによっては、実行時にアクティブなロケールおよび EBCDIC コード・ページを検証し、コード・ページ ID を対応する CCSID に変換することが必要な場合もあります。 このような照会や変換は、呼び出し可能なライブラリー・ルーチンを使用して実行することができます。
実行時にアクティブなロケールおよび EBCDIC コード・ページにアクセスするには、 以下のようにライブラリー関数 _iwzGetLocaleCP を呼び出します。
CALL “_iwzGetLocaleCP” USING output1, output2
変数 output1 は、次のフォーマットでヌル終了ロケール値を表す、20 文字の英数字項目です。
例えば、en_US.IBM-1252 は、言語コード en、国別コード US、コード・ページ IBM-1252 のロケール値を表しています。
変数 output2 は、有効なヌル終了 EBCDIC コード・ページ ID を表す、10 文字の英数字項目 (IBM-1140 など) です。
コード・ページ ID を対応する CCSID に変換するには、次のようにライブラリー関数 _iwzGetCCSID を呼び出します。
CALL “_iwzGetCCSID” USING input, output RETURNING returncode
input は、ヌル終了コード・ページ ID を表す英数字項目です。
output は、4 バイトの符号付き 2 進数データ項目 (PIC S9(5) COMP-5 として定義された項目など) です。入力コード・ページ ID ストリングまたはエラー・コード -1 に対応する CCSID が戻されます。
returncode は、次のように設定される、4 バイトの符号付き 2 進数データ項目です。
これらのサービスを呼び出すには、SYSTEM 呼び出しインターフェース規約と、PGMNAME(MIXED) および NODYNAM コンパイラー・オプションを使用する必要があります。
関連タスク
ロケールの設定