set
EGL set 文は、コンテキストによって、次の 2 つの目的で機能します。
- レコード変数をターゲットとするデータ・アクセス文
- 書式、または書式内のフィールドをターゲットとする UI 文
コア構文

- target
- レコード変数、書式、または書式フィールド。これらの変数について詳しくは、以下を参照してください。
- value
- set 文がターゲットに割り当てる値。 これらの値は、文の特定のターゲットに応じて異なります。 詳しくは、以下を参照してください。
ターゲットとしてのレコード変数を持つ set
データ・アクセスを実行する場合、set 文のターゲットはレコード変数です。
次の値の一部またはすべてが使用できます。
- empty
- set 文のこのバリアントは、レコード内に含まれるすべてのレコード変数で再帰的に機能し、構造化レコードの場合には、構造の最下位レベルまで機能します。個々のフィールドがそのデータ型に従いデフォルト値に設定され、NULL フラグがオンになります。デフォルト値について詳しくは、データの初期化を参照してください。 NULL フラグについて詳しくは、isSQLNullableを参照してください。
- initial
- レコード変数は、各フィールドの初期値を指定できます。 initial 修飾子はこれらのフィールドの値を、レコード定義で指定された値に再設定します。 レコード定義に初期値が指定されていない場合の initial 修飾子の効果は empty 修飾子の効果と同じです。
- position
- 特定のステレオタイプを持つレコード変数 (索引付きレコードなど) の場合、 set 文を使用して、ファイル内の get next 文または get previous 文の前に、ファイル・ポインターを設定できます。 set 文は、指定されたレコード変数内のキー・フィールドに一致するように、 効果的にファイル・ポインターを配置します。 詳しくは、このトピックの終わりにある『関連参照』セクションで、該当するデータ・アクセス・テクノロジーの set 文に関する考慮事項を参照してください。
複数のレコードおよび複数の値を、コンマで区切って指定することができます。 レコードの場合、各オプションは set 文内で指定された順序で効力を生じます。
ターゲットとしてのフィールドを持つ set
set 文のターゲットがフィールドである場合、
次の値が (書式上またはレコード内の) すべてのフィールドで使用可能です。
- empty
- set 文のこのバリアントは、指定されたフィールドをクリアします。フィールドが構造化されている場合、この文はすべての従属フィールドもクリアします。 代入される値については、データの初期化を参照してください。
- initial
- set 文のこのバリアントは、フィールドの値を、レコード定義に指定された値にリセットします。レコード定義に初期値が指定されていない場合の initial 修飾子の効果は empty 修飾子の効果と同じです。
NULL 可能なフィールドまたは NULL 可能な変数を明示的に設定するには、set 文を使用しないでください。
次の例のような代入文を使用してください。
myNullableVar = null;
互換性
| プラットフォーム | 問題 |
|---|---|
| Rich UI | set はサポートされていません。 |