SET ステートメントの形式 8 によって、現行ロケールのロケール・カテゴリーの設定と照会が可能となります。
ロケールは、言語や特定の文化圏固有の情報を含むシステム・オブジェクトです。
例えば、ロケールには世界の特定の地域の日付と時刻についての適切な形式が入っています。
ロケール内の情報は、
ロケール・カテゴリーに分割されます。
例えば、ロケール・カテゴリー LC_TIME には、日付と時刻の形式に関する情報が入っています。
実行単位ごとに、1 つの DEFAULT ロケール、1 つの現行ロケール、およびゼロないし多数の特定のロケールが存在します。
現行ロケールは、そのロケール・カテゴリーの一部またはすべてを DEFAULT または特定のロケールに設定することにより変更されます。
ロケール・カテゴリー (現行ロケールの) が設定された特定ロケールの名前を ID の中で使用できます。
ロケール・カテゴリーの内容は、下記からロケール・カテゴリーを設定することにより変更できます。
- システム・デフォルト
- 英数字基本データ項目において定義されたロケール
- SPECIAL-NAMES 段落で指定された簡略名
指定された各ロケール・カテゴリーは、実行単位の期間中またはカテゴリーを指定する別の SET ステートメントが処理されるまでの間効力をもちます。

SET ステートメント - 形式 8
.-----------------.
V |
>>-SET--LOCALE----+-LC_ALL------+-+----------------------------->
+-LC_COLLATE--+
+-LC_CTYPE----+
+-LC_MESSAGES-+
+-LC_MONETARY-+
+-LC_NUMERIC--+
+-LC_TIME-----+
'-LC_TOD------'
>--+-----------------------------------------+------------------>
'-INTO--ID-10--+------------------------+-'
'-+----+--LIBRARY--ID-11-'
'-IN-'
>--+---------------------------------------------+-------------><
'-FROM--+-DEFAULT---------------------------+-'
+-ID-12--+------------------------+-+
| '-+----+--LIBRARY--ID-13-' |
| '-IN-' |
'-簡略名-2-----------------------------'
- LC_ALL
- ロケール・カテゴリーの LC_COLLATE、LC_CTYPE、LC_MESSAGES、
LC_MONETARY、LC_NUMERIC、LC_TIME、および LC_TOD (ロケールに含まれるこれ以外のすべてのカテゴリーも含まれます。)
- LC_COLLATE
- 照合順序を定義するロケール・カテゴリー。
- LC_CTYPE
- 文字種別と文字タイプを定義するロケール・カテゴリー。
- LC_MESSAGES
- 通知メッセージと診断メッセージのフォーマット設定および対話式応答のフォーマット設定を定義するロケール・カテゴリー。
- LC_MONETARY
- 通貨のフォーマット設定を定義するロケール・カテゴリー。
- LC_NUMERIC
- 数字のフォーマット設定を定義するロケール・カテゴリー。
- LC_TIME
- 日時フォーマット設定を定義するロケール・カテゴリー。
- LC_TOD
- 時間帯差、時間帯名、および夏時間開始点と終点を定義するロケール・カテゴリー。
- ID-10
- ID-10 の値はロケール・カテゴリーを参照します。
ID-10 は基本英数字データ項目でなければなりません。
INTO 句が指定されている場合は、指定されたカテゴリーに対する現行ロケールの識別は、ID-10 が参照するデータ項目の中に保管されます。
INTO 句は、英数字から英数字への移動用 MOVE ステートメントの規則を使用して、FROM 句の前に処理されます。
- DEFAULT
- ロケール・カテゴリーを現行のデフォルトに設定します。デフォルトのロケールは、
実行単位が起動する時点で発生し、実行単位の期間中デフォルトのロケールのまま残ります。
デフォルトのロケールはまた、実行単位が活動化される時点で現行ロケールにもなり、SET ステートメントの形式 8 を使用して切り換えられるまで現行ロケールのまま残ります。
- ID-12
- ID-10 の値はロケール・カテゴリーを参照します。
ID-12 は基本英数字データ項目を参照する必要があります。
ID-12 で指定されたロケールが利用不能である場合は、オペレーティング・システムのエスケープ・メッセージが出されます。
FROM 句が指定されている場合は、指定されたカテゴリーの現行ロケールは、ID-12 が参照するデータ項目の内容に設定されます。
現行ロケール識別は、英数字から英数字への移動用 MOVE ステートメントの規則を使用して保管されます。
- 簡略名-2
- 簡略名-2 で指定されたロケールが利用不能である場合は、オペレーティング・システムのエスケープ・メッセージが出されます。FROM 句が指定されている場合は、指定されたカテゴリーの現行ロケールは、簡略名-2 が識別するロケール・カテゴリーに設定されます。