最近のアクセス:
Error ルール

条件が満たされている間、エラー通知を表示して実行の継続を許可しません。

構文

Error('announcement' | &var | character_expression [ ,ExceptionName ] ) [ IF condition ] [ ON triggering event ] ;
入力値の説明:
'announcement' (または、&var あるいは character_expression)
         条件を満たす場合に表示する文 (文字列) です。
変数または character_expression を使用する場合は、結果のタイプが Character の GeneXus コントロールです (それ以外の場合は、ナビゲーションレポートで通知されます)。
ExceptionName
         トランザクションがビジネスコンポーネントとして設定される場合は、ExceptionName パラメーターをエラーの ID として設定し、ビジネスコンポーネントのエラー処理を解決できます。
condition
     有効な論理条件です。
triggering event
         GeneXus でトランザクションルールに使用できる事前定義済みのイベントです。これにより、ルールを実行する正確なタイミングを定義できます。



1)

Customer                   
{                                    
    CustomerId*          
    CustomerName    
    CustomerLastName
    CustomerAddress
    CustomerPhone
    CustomerBirthDate       
}
Customer のルールは次のとおりです:
error('顧客名を入力してください') if CustomerName.isempty();
error('顧客の姓を入力してください') if CustomerLastName.isempty();
error('顧客は 18 歳以上である必要があります') if CustomerBirthDate.age()<18;
error('顧客は削除できません') if delete;

2)

Customer トランザクションがビジネスコンポーネントとして構成されており、トランザクションに次のルールが定義されているとします。
error('顧客は 18 歳以上である必要があります', 'CustomerMustBe18YearsOld') if CustomerBirthDate.age()<18;
ExceptionName パラメーターで参照される値は Messages SDT ( [ ID ] プロパティ) に基づく &Messages コレクション変数に入れられ、GetMessages() メソッドを使用してロードできます。
サンプルコード:
&CustomerBc is a Customer variable

&CustomerBc.save()
If &CustomerBc.Fail()
   &Messages = &CutomerBc.GetMessages()
    If &Messages.Item(1).ID = 'CustomerMustBe18YearsOld'
        .......
ExceptionName パラメーターは識別子であるため、空白や次の特殊文字は使用できません: / : ” | = < > |
関数も使用できません。
構文が正しくない場合はコンパイルエラーが表示されます:
xxx.cs(yy,yy): error CS0103: the name 'pushError' does not exist in the actual context.

3)

同じ Customer トランザクションを使用して次のルールを定義できます:
Error(&ReturnedText) if ProcedureCheck(&ReturnedText);
前の定義は有効ですが、変数 &ReturnedText がプロシージャーの入力パラメーターと見なされることを考慮する必要があります。ルールは、変数が割り当てられた場合にのみトリガーされます (たとえば別のルールの出力変数である場合)。
 

開発者が条件に「if delete」と指定した場合を除いて、トランザクションからレコードを削除するときにルールは実行されません。


適用範囲

オブジェクト  Transaction


参考情報

トランザクションルール











サブページ
Created: 14/09/18 03:19 by Admin Last update: 21/10/28 23:32 by Admin
カテゴリ
Powered by GXwiki 3.0