Save、
Check、
Load、または
Delete メソッドの実行後に発生したエラー (*) のコレクションを取得します。
(*) GeneXus によって自動的にチェックされるものと、
Transaction オブジェクトで定義されている
Msg ルールと
Error ルールに従ってチェックされるものがあります。
&messages=
&VarBasedOnBC.
GetMessages()
入力値の説明:
&messages
GeneXus オブジェクトに定義された変数であり、GeneXus によってすべての
ナレッジベース内に自動的に定義される
Messages 構造化データタイプに基づきます:
&VarBasedOnBC
GeneXus オブジェクトに定義された変数であり、ビジネスコンポーネントに基づきます。
次の
トランザクションをビジネスコンポーネントとして定義する (
[ Business Component ] プロパティを True に設定する) とします:
Customer
{
CustomerId* ( [ Autonumber ] プロパティ = True)
CustomerName
CustomerAddress
CustomerPhone
CustomerEmail
CustomerAddedDate
CustomerTotalMiles
}
Customer のルールは次のとおりです:
Default(CustomerAddedDate,&today);
Error("マイルが残っているため、この顧客情報を削除できません") if delete and CustomerTotalMiles>0;
この場合、Customer トランザクションのビジネス コンポーネント データ タイプがナレッジベースに自動的に作成され、作成された新しいタイプの変数を任意のオブジェクトで定義できます。そのため、Customer タイプに基づいて &Customer 変数を定義できます。
同じオブジェクトで次の 2 つの変数も指定します:
&Messages: Messages データタイプのコレクション
&oneMessage: Messages.Message データタイプであり、コレクション内の 1 つのエレメント
その後、オブジェクト (
プロシージャーの [ Source ] など) 内で次のコードを指定します:
&Customer.Load(18)
&Customer.Delete()
if &Customer.success()
commit
else
&Messages = &customer.GetMessages()
for &oneMessage in &Messages
msg(&oneMessage.Description)
endfor
endif
ビジネスコンポーネントのエラー処理
ビジネスコンポーネントのメソッド