最近のアクセス:
AfterLevel イベント

特定のトランザクションレベルの完了を示します。

構文

AfterLevel  [ level att ] ;

戻されるタイプ:

Boolean (True または False)

説明

AfterLevel イベントの評価はブール値 (True または False) を返します。
AfterLevel level att.イベントは、特定の項目属性に関連付けられたレベルの完了後にルールをトリガーするために使用されます。セクションレベルが使用されていない場合は、トランザクションの最初のレベルに適用されます。

注:

Java、.NET Win 環境、および Web インターフェースでは、すべてのトランザクションを検証した後に必ずルールが実行されます。

互換性:

After(Level(att)) 関数は、下位互換性を保つために残されています。AfterLevel イベントを使用されることを強くお勧めします。詳しくは、「ルールをトリガーするイベント」を参照してください。

サプライヤーから請求書を受け取った後、請求書の合計金額が正しく計算されていることを検証します。
サプライヤー請求書トランザクション
SupId*
InvNbr*
 ...

InvTot
  (PrdId*
   ...
   InvAmtLin)
...
InvTotCalc=SUM(InvAmtLin)
InvTot は、サプライヤーが計算した合計請求額です。
InvTotCalc は、各行に入力された金額の加算値です。
これら 2 つの値が一致するように、以下のルールを定義します:
Error('Invoice Total does not match Calculated Total') If InvTot <> InvTotCalc;
InvTotCalc は、行の金額 (InvAmtLin) を合計した値です。行の金額の値が変更されるたびに、新しい InvTotCalc の値が取得されます。
項目属性が変更されるたびに、その値に基づくすべての値を再計算する必要があります。InvAmtLin が変更されると、InvTotCalc が再計算されます。条件が True の場合には、入力された各行についてエラールールをトリガーする必要があります。このルールすべての行が入力されるまで適用されます。このため、InvTot が入力された直後からグリッドの各行でエラーが発生します (実際には、エラールールは InvTot にフォーカスし続けるため、グリッドの最初の行にフォーカスを移すことができません)。
この場合、すべての行が入力されるまで待機し、エラールールの評価を行うタイミング (行レベル終了時) を変更する必要があります。
Error('Invoice Total does not match Calculated Total') If InvTotCalc <> InvTot On AfterLevel level InvAmtLin;

適用範囲

オブジェクト: Transaction
言語: .NET、Ruby (GeneXus X Evolution 3 まで)、Java、RPG、Visual FoxPro (GeneXus X Evolution 3 まで)、COBOL

参考情報

After 関数
トランザクションルール
ルールをトリガーするイベント









サブページ
Created: 14/09/18 03:44 by Admin Last update: 21/05/20 04:39 by Admin
カテゴリ
Powered by GXwiki 3.0