ビジネスコンポーネントに基づく変数のその時点での 1 番目の
レベルの
トランザクションモードを示します。
&varBasedOnBC.Mode()
入力値の説明:
&varBasedOnBC
GeneXus オブジェクトに定義された変数であり、ビジネスコンポーネントに基づきます。
このメソッドから返される結果は、モードを示す文字列です。この結果は、文字列変数に割り当てたり、次の例に示すように、
Msg 関数を使用して表示したりできます。
これは、読み取り目的でのみ適用されます (ビジネスコンポーネントとして実行されるトランザクションの、その時点での 1 番目のレベルのトランザクションモードを取得するため)。
ビジネスコンポーネント変数を使用するときの既定のモードは Insert ('INS') です。ここで、ビジネスコンポーネント変数の
プロパティに値を割り当てるとします。
Save メソッドを適用する前は、モードは Insert ですが、保存後は、モードは Update ('UPD') に変わり、レコードはメモリー内でインスタンス化されたままになります。
ここでは、データベースから情報を取得するため、ビジネスコンポーネント変数に
Load メソッドを適用します。モードは Update に設定され、このモードは Save メソッドの呼び出し後も維持されます。
Customer トランザクションをビジネスコンポーネントとして定義する (
[ Business Component ] プロパティを True に設定する) とします:
Customer
{
CustomerId* ( [ Autonumber ] プロパティ = True)
CustomerName
CustomerAddress
CustomerPhone
CustomerEmail
CustomerAddedDate
}
ルール:
Default(CustomerAddedDate,&today);
この場合、Customer トランザクションのビジネス コンポーネント データ タイプが
ナレッジベースに自動的に作成され、作成された新しいタイプの変数を任意のオブジェクトで定義できます。そのため、Customer タイプに基づいて、任意のオブジェクトで &Customer 変数を定義できます。
たとえば、メソッドの提供内容をテストする場合、オブジェクト内に次のコードを定義できます。オブジェクトが
プロシージャーの場合、コードはそのソースに含められます:
&Customer = new()
msg(&Customer.Mode()) //モードは 'INS'
&Customer.CustomerName = 'Susan Brown'
&Customer.CustomerEmail = 'SBrown@mail.com'
&Customer.Save()
msg(&Customer.Mode()) //モードは 'UPD'
commit
参考情報
ビジネスコンポーネント変数のメソッド