Skip to main content

Declare OnChangeルール

Declare OnChange ルールは指定されたプロパティの値が変更された場合にアクティビティを自動的に実行するか、現在のワークオブジェクトを一時停止します。 たとえば、Declare OnChangeルールを使って、チームが入力したワークアイテムの平均金額をリアルタイムで計算したり、ワークアイテムのすべての処理を強制的に中断させて状況の調査やレビューを行ったりすることができます。 Declare OnChangeルールを使用して作業を一時停止する場合、When条件はビジネス例外と呼ばれます。

Declare OnChangeルールを明示的に参照するルールは他にありません。 Dev Studioから新しいDeclare OnChangeルールを作成できます(Create > Decision > Declare OnChange)。

補足: Declare OnChangeフォームの詳細については、コミュニティの記事「Declare OnChange form - Completing the OnChange Properties tab」を参照してください。

Declare OnChange ルールでは、When条件を指定して1つ以上のプロパティ値をテストし、条件の真または偽の結果に基づいてさまざまなアクティビティを実行できます。 Declare OnChangeルールでは、プロパティ値が変化したときに条件が評価されます。

次の画像で「+」アイコンをクリックすると、Declare OnChangeルール設定の詳細が表示されます。

パフォーマンス

「Properties to Watch」が頻繁に変化する場合、OnChangeアクティビティのパフォーマンスに影響が生じる可能性があります。 When条件を追加し、アクションアクティビティが合意されたパフォーマンスのしきい値以内で完了するように設計することを検討してください。

補足: Declare OnChangeルールとパフォーマンスの詳細については、「More about Declare OnChange rules」を参照してください。

OnChangeプロパティと条件

プロパティ値が変化する場合のWhen条件への対応を容易にするには、変化を監視するプロパティと、プロパティが変化する場合にアクションを取る条件を定義します。 

Properties to Watch 

最上位のページまたは「Pages & Classes」タブの「Page Context 」フィールドによって識別されるページでプロパティを特定します。 一部の制限が適用されます。 

  • 複数のプロパティをリストに入れる場合は、同じページ上(最上位ページまたは共通の埋め込みページのいずれか)でなければなりません。
  • 複数のプロパティスをリストに入れる場合で、2つ以上のプロパティが値を変更するとき(たとえば、アクティビティの単一ステップ内)、このOnChangeアクティビティは1回だけ実行します。
  • ドットが付いている各プロパティ参照を開始します。 ルールの「Applies To」キーに対応するページ以外のページ、または「Pages & Classes」タブの「Page Context 」フィールドによって識別されるページではプロパティを参照できません。

条件

プロパティ値が変化した時に評価されるWhen条件ルールに基づくか、以下の2つのいずれかの形式のシンプルなブール式を入力することでDeclare OnChangeルールの条件を、「Always」として評価するように設定します。

  • property = "constant value"
  • property1 > property2
注: パフォーマンスへの影響を避けるため、「On Change Properties」タブの「Conditions 」フィールドのWhen条件では、複雑なJavaの式は使用しないでください。

プロパティ値の変化に対するアクション

指定されたプロパティのいずれかが変化した場合のアクションを2つから選択してください。 

アクティビティの呼び出し 

デベロッパーは「Declare OnChange」ルールを作成し、「Properties To Watch 」セクションにプロパティを追加して、そのプロパティが変化した場合にアクティビティを実行できます。 これは、監査機能を強化して、仕様としてプロパティ値が変化する毎に、そのプロパティ値が変化した際に存在していた条件(時間、変更した人、他の対応するプロパティの値など)とあわせて記録することを求める必要がある状況で役立ちます。 

プロパティ値が変化する際にアクティビティを呼び出すには、次の要件が必要です。

  • アクティビティタイプは必ず「OnChange」にする。
補足: アクティビティタイプは「Activity Rule」の「Security」タブで設定できます。
  • アクティビティが呼び出せるブランチやその他のアクティビティのアクティビティタイプは必ず「OnChange」にする。
  • 標準のWhenルール「Always 」を入力または選択して1つのアクティビティだけを実行する。
注: Declare OnChangeルールを計算に使用するのは、デクレアエクスプレッションが適切でない場合に限られます。

以下のインタラクションで理解度をチェックしてください。

ワークオブジェクトの保留

不正活動が検出されたり、提供されたデータによりコンプライアンス違反が発生したりなど、予期しないビジネス例外が発生した場合は、ワークオブジェクトの一時停止を選択できます。 Declare OnChangeルールを使用してプロパティの変更を確認してください。 「Suspend work object」を選択することで、条件が満たされるとワークアイテムのすべての処理が強制的に停止されます。 

注: 宣言型ルールで処理の無限ループを開始しないように注意してください。 たとえば、OnChangeアクティビティでは、アクティビティを開始する原因となったプロパティを更新しないでください。 OnChangeアクティビティでは他のプロパティを更新できます。

以下のインタラクションで理解度をチェックしてください。


このトピックは、下記のモジュールにも含まれています。

トレーニングを実施中に問題が発生した場合は、Pega Academy Support FAQsをご確認ください。

このコンテンツは役に立ちましたか?

このコンテンツは 100% のユーザーにとって役に立ちました。

改善できるところはありますか?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice