52.2. ガイド付きルールに THEN アクションの追加
ルールの WHEN 条件が一致した場合に実行するアクションがルールの THEN 部分に含まれます。たとえば、ローンの申込者が 21 歳に満たない場合は、THEN アクションにより approved
が false
になり、年齢が達していないためローンの申し込みが承認されません。ルールをいつ、どのように適用するかを決定するために、単純または複雑な条件を設定できます。
前提条件
- ルールに必要なデータオブジェクトはすべて作成、またはインポートされており、ガイド付きルールデザイナーの Data Objects タブにリストされている。
手順
ガイド付きルールデザイナーで、
THEN
セクションの右側のプラスアイコン ( ) をクリックします。利用可能なアクション要素が追加された Add a new action ウィンドウが開きます。
図52.5 ルールへのアクションの追加
このリストには、ガイド付きルールデザイナーの Data Objects タブのデータオブジェクトと、パッケージに定義した DSL オブジェクト (ガイド付きルールを作成したときに Show declared DSL sentences を選択した場合) に基づいた挿入と修正のオプションが含まれます。
-
Change field values of: (
LoanApplication
などの) ファクトにフィールドの値を設定します。この変更はデシジョンエンジンには通知されません。 - Delete: ファクトを削除します。
- Modify: ファクトに対して修正するフィールドを指定します。この変更はデシジョンエンジンには通知されません。
- Insert fact: ファクトを挿入し、ファクトの結果フィールドと値を定義します。
- Logically Insert fact (ファクトの論理的な挿入): ファクトをデシジョンエンジンに論理的に挿入し、ファクトに対してフィールドと値を定義します。デシジョンエンジンは、ファクトの挿入および取り消しに対して論理的な決断を行います。定期的な挿入、または指定した挿入の後に、ファクトを明示的に取り消す必要があります。論理挿入の後に、ファクトをアサートした条件が TRUE ではなくなると、ファクトは自動的に取り消されます。
- Add free form DRL: ガイド付きルールデザイナーを使用せずに条件要素を自由に定義できる free form DRL フィールドを挿入します。
- Call method on: 別のファクトからメソッドを呼び出します。
-
Change field values of: (
- アクション要素 (Modify など) を選択し、OK をクリックします。
ガイド付きルールデザイナーでアクション要素をクリックし、Add a field ウィンドウを使用してフィールドを選択します。
図52.6 フィールドの追加
フィールドを選択したら、ウィンドウが自動的に閉じます。
- 編集アイコン ( ) をクリックして、フィールド値を定義します。このフィールド値は、リテラル値または式にすることができます。
- ルールのアクションコンポーネントをすべて定義したら、ガイド付きルールデザイナーの右上のツールバーで Validate をクリックして、ルールのアクションの妥当性を確認します。ルールの妥当性確認に失敗したら、エラーメッセージに記載された問題に対応し、ルールの全コンポーネントを見直し、エラーが表示されなくなるまでルールの妥当性確認を行います。
- ガイド付きルールデザイナーで Save をクリックして、設定した内容を保存します。