Save、
Check、
Load、または
Delete メソッドの実行が失敗したかどうかを評価します。操作が失敗した場合は True を返します。それ以外のときは False を返します。
&VarBasedOnBC.
Fail()
入力値の説明:
&VarBasedOnBC
GeneXus オブジェクトに定義された一時変数またはローカル変数であり、ビジネスコンポーネントに基づきます。
次の
トランザクションをビジネスコンポーネントとして定義する (
[ 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 変数を定義できます。
次のコードは、使用できるマイルを持った顧客の情報の削除を試行します。このコードは、
プロシージャーの [ Source ] や
Web Panel オブジェクトの [ Events ] エレメントで定義されます:
&Customer.Load(15)
&Customer.Delete()
if &Customer.fail()
&Messages = &customer.GetMessages()
for &oneMessage in &Messages
msg(&oneMessage.Description)
endfor
else
commit
endif
このオブジェクト内で定義されている変数は次のとおりです:
- &messagges: Messages データタイプ (コレクション)
- &onemessage: Messages.message データタイプ (messages コレクションの 1 つのエレメント)
エラールールがトリガーされており、削除が実行されなかったため、Fail メソッドが評価された結果、True が返されます。したがって if 文に含まれているコードが実行されます。
GeneXus 17 Upgrade 4 以降
Android で使用可能です。
参考情報
ビジネスコンポーネントのエラー処理
ビジネスコンポーネントのメソッド