Save、
Check、
Load、または
Delete メソッドの実行が成功したかどうかを評価します。操作が成功した場合は True を返します。それ以外の場合は False を返します。
&VarBasedOnBC.Success()
入力値の説明:
&VarBasedOnBC
GeneXus オブジェクトに定義された変数であり、ビジネスコンポーネントに基づきます。
Customer
トランザクションをビジネスコンポーネントとして定義する (
[ Business Component ] プロパティを True に設定する) とします:
Customer
{
CustomerId* ( [ Autonumber ] プロパティ = True)
CustomerName
CustomerAddress
CustomerPhone
CustomerEmail
CustomerBirthDate
CustomerAddedDate
}
ルール:
Default(CustomerAddedDate,&today);
error('顧客は 18 歳以上である必要があります') if CustomerBirthDate.Age()<18;
この場合、Customer トランザクションのビジネス コンポーネント データ タイプが
ナレッジベースに自動的に作成され、作成された新しいタイプの変数を任意のオブジェクトで定義できます。
Customer タイプに基づいて、任意のオブジェクトで &Customer 変数を定義できます。
次のコードは、18 歳未満の顧客情報の挿入を試行します。このコードは、
プロシージャーの [ Source ] や
Web Panel オブジェクトの [ Events ] エレメントなどで定義されます:
&Customer.CustomerName='Tina Parker'
&Customer.CustomerAddress='18001 Collins Avenue'
&Customer.CustomerPhone= '877-219-8890'
&Customer.CustomerEmail= 'tinaparker@mail.com'
&Customer.CustomerBirthDate= ymdtod(2010,10,08)
&Customer.save()
If &Customer.success()
commit
else
&Messages = &Customer.GetMessages()
for &oneMessage in &Messages
msg(&oneMessage.Description)
endfor
endif
このオブジェクト内で定義されている変数は次のとおりです:
- &messagges: Messages データタイプ (コレクション)
- &onemessage: Messages.message データタイプ (messages コレクションの 1 つのエレメント)
エラールールがトリガーされており、保存に成功しなかったため、Success メソッドが評価された結果、False が返されます。したがって、else に含まれるコードが実行されます。
Android では
GeneXus 17 Upgrade 4 以降で使用できます。
ビジネスコンポーネントのエラー処理
ビジネスコンポーネントのメソッド