ビジネスコンポーネントに基づく変数の
プロパティの前の値をデータベースから取得します。
&varBasedOnBC.PropertyName.
Getoldvalue()
入力値の説明:
&varBasedOnBC
GeneXus オブジェクトに定義された変数であり、ビジネスコンポーネントに基づきます。
このメソッドを
ビジネスコンポーネントに基づく変数の
プロパティに適用すると、そのプロパティに格納されている以前の値を取得できます。別の値が割り当てられたなど、プロパティの値がメモリー内で変更されていても、その値が取得されます。
このメソッドから返される結果は、変数に割り当てたり、
Msg 関数を使用して表示したりできます。
Customer
トランザクションをビジネスコンポーネントとして定義する (
[ Business Component ] プロパティを True に設定する) とします:
Customer
{
CustomerId* ( [ Autonumber ] プロパティ = True)
CustomerName
CustomerAddress
CustomerPhone
CustomerEmail
CustomerAddedDate
CustomerTotalMiles
}
ルール:
Default(CustomerAddedDate,&today);
Error("マイルが残っているため、この顧客情報を削除できません") if delete and CustomerTotalMiles>0;
この場合、Customer トランザクションのビジネス コンポーネント データ タイプが
ナレッジベースに自動的に作成され、作成された新しいタイプの変数を任意のオブジェクトで定義できます。そのため、Customer タイプに基づいて、任意のオブジェクトで &Customer 変数を定義できます。たとえば、オブジェクト内に次のコードを定義できます (オブジェクトが
プロシージャーの場合、コードはそのソースに含められます):
&Customer.Load(1)
&Customer.CustomerTotalMiles += 500
msg('この顧客が持っているマイルは' + str(&Customer.CustomerTotalMiles.Getoldvalue()) + ' です。新しく次のマイルを取得します: ' + str(&Customer.CustomerTotalMiles))
&Customer.Save()
commit
参考情報
ビジネスコンポーネント変数のメソッド