項目属性または変数に既定値を割り当てます。
Default(
att | &
var,
expression);
入力値の説明:
att |
&var
値を割り当てる項目属性または変数です。
expression
有効なエクスプレッションです。プロシージャー、関数、メソッド、定数、変数、またはその他の項目属性を使用できます (結果は、項目属性または変数のタイプの定義と一致している必要があります)。
オブジェクト: Transaction、
Procedure、
Web Panel
Transaction オブジェクトで変更可能な特定の値を持つ項目属性を初期化するために使用されます。ここでは、このルールはトランザクションが挿入モードで実行された場合にのみ、トリガーされます。更新、削除、または表示などのほかのモードでトランザクションを実行すると、項目属性には既に値が格納されており、このルールの目的は値を書き換えることではありません。
このルールは、同じ目的を持つほかのオブジェクトでも使用できますが、オブジェクトによっては、変数がイベントやソースなどの異なるセクションで初期化される場合があるため、このルールの使用は通常とは異なります。
例 1
Customer
{
CustomerId*
CustomerName
CustomerAddress
CustomerPhone
CustomerAddedDate
CustomerState
}
Customer のルールは次のとおりです:
Default(CustomerAddedDate,today());
注:
この例で提案する Default ルールによって提供される動作は、次の例によって提供される動作とまったく同じです:
CustomerAddedDate=today() if insert;
例 2
次の例は、挿入されている新しい顧客に対して CustomerState 項目属性を初期化する (既存の顧客の値を使用して) ために、
Previous 関数を使用する Customer トランザクションで定義されているルールを示します。
Default(CustomerState,Previous());
その他の GeneXus オブジェクト (たとえば、プロシージャーや Web パネルなど) では、Default ルールは変数を初期化するためにのみ定義でき、プログラムの実行開始時にトリガーされます。このような場合のエクスプレッションでは、引用符、数字、および次の関数の間に「リテラル」のみを使用できます: Today()、Date()、および Sysdate()。次に、例を示します:
Default(&FirstCustomerId, 1);
Default(&LastCustomerId, 999);