構文
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 個です。
- 配列に 1 個のエレメントがある場合、すべてのカテゴリーが、その値に設定されるか、設定されないかになります。
- 配列のエレメントが 5 個の場合、各エレメントの値は順に、TIME、NUMERIC、MONETARY、
CTYPE、および COLLATE となります。
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,"")