SETLOCALE 関数

構文

SETLOCALE (category, value)

説明

NLS モードで SETLOCALE 関数を使用すると、あるカテゴリーに対してロケールを有効または無効にしたり、その設定を変更したりできます。

category は、UVNLSLOC.H ファイルで定義される以下のトークンのいずれかになります。

UVLC$ALL
value で指定されたすべてのカテゴリーを設定するか、無効にします。value には、ロケール名、OFF、または DEFAULT を指定します。value は、そのエレメントがカテゴリーに対応する動的配列にすることもできます。
UVLC$TIME
Time カテゴリーの設定を行うか、または Time カテゴリーを無効にします。value には、ロケール名、OFF、または DEFAULT を指定します。
UVLC$NUMERIC
Numeric カテゴリーの設定を行うか、または Numeric カテゴリーを無効にします。value には、ロケール名、OFF、または DEFAULT を指定します。
UVLC$MONETARY
Monetary カテゴリーの設定を行うか、または Monetary カテゴリーを無効にします。value には、ロケール名、OFF、または DEFAULT を指定します。
UVLC$CTYPE
Ctype カテゴリーの設定を行うか、または Ctype カテゴリーを無効にします。value には、ロケール名、OFF、または DEFAULT を指定します。
UVLC$COLLATE
Collate カテゴリーの設定を行うか、または Collate カテゴリーを無効にします。value には、ロケール名、OFF、または DEFAULT を指定します。
UVLC$SAVE
現在のロケールの状態を上書き保存します。value は無視されます。
UVLC$RESTORE
保存したロケールの状態を復元します。value は無視されます。

value には、そのエレメントがフィールド・マークで指定された動的配列か、ストリング OFF を指定します。配列のエレメント数は 1 個または 5 個です。

MD 変換、MR 変換、または ML 変換を行う場合、ロケール情報を使用できるよう、Numeric カテゴリーおよび Monetary カテゴリーを設定する必要があります。

SETLOCALE 関数が成功すると、STATUS 関数は 0 を返します。また SETLOCALE 関数が失敗すると、次のエラー・トークンの中の 1 つを返します。

LCE$NO.LOCALES
InfoSphere® DataStage® ロケールを使用できません。
LCE$BAD.LOCALE
value が、現在、ロード済みのロケール名でないか、ストリング OFF です。
LCE$BAD.CATEGORY
無効なカテゴリーを指定しました。
LCE$NULL.LOCALE
value に、複数のフィールドが含まれていて、カテゴリーが欠落しています。

エラー・トークンは UVNLSLOC.H ファイルで定義されます。

次の例では、ロケールのすべてのカテゴリーを FR-FRENCH に設定します。

status = SETLOCALE(UVLC$ALL,"FR-FRENCH")

次の例では、現在のロケールを保存します。 これは、SAVE.LOCALE コマンドを実行することに相当します。

status = SETLOCALE(UVLC$SAVE,"")

次の例では、Monetary カテゴリーを DE-GERMAN に設定します。

status = SETLOCALE(UVLC$MONETARY,"DE-GERMAN")

次の例では、Monetary カテゴリーを無効にします。 InfoSphere DataStage は、Monetary カテゴリーのみに対してロケールがないように動作します。

status = SETLOCALE(UVLC$MONETARY,"OFF")

次の例では、すべてのカテゴリーに対してロケールを無効にします。

status = SETLOCALE(UVLC$ALL,"OFF")

次の例では、以前保存したロケールの設定を復元します。

status = SETLOCALE(UVLC$RESTORE,"")