ルールレゾリューションプロセスおよびルールの可用性
ルールレゾリューションプロセスの対象となるルールには、可用性値があります。 ルールの現在のAvailabilityは、Rule画面のルール名または説明の横に表示されます。
可用性の設定は、ルールレゾリューション時にルールが使用可能かどうかを決定します。 ルールの可用性は、Dev Studioでルールを表示、コピー、または編集できるかどうかも決定します。
ルールの可用性を5つの値のいずれかに設定できます。
Availability = Available
可用性が「Available」に設定されている場合は、そのルールがルールレゾリューションプロセスで使用できることを示しています。
可用性が「Available」に設定されている場合、Dev Studioでルールの表示、コピー、編集、および実行が可能です。
ヒント: 作成時のルールのデフォルトの可用性は「Available」です。
Availability = Final
可用性が「Final」に設定されている場合は、そのルールがルールレゾリューションプロセスで使用できることを示しています。
「Final」と表示されたルールは、Dev Studioで表示および実行できますが、同じ名前の別のルールセットに編集したりコピーしたりすることはできません。 最終ルールは、同じルールセット内の上位バージョンを通じて上書きすることはできません。
補足: 「Final」の設定はPega Platform™で使用され、Pegaが提供するルールが後続のリリースで変更される可能性があることを示します。 トラブルシューティングの最終ルールの詳細については、「Troubleshooting final Rules」を参照してください。
Availability = Not Available
可用性が「Not Available」に設定されている場合は、そのルールがルールレゾリューションプロセスで使用できないことを示しています。 ルールレゾリューション処理中に「Not Available」に設定されたルールが見つかった場合、次に上位のバージョンのルールがルールレゾリューションの対象となります。 次の表は、ランク付けされたルールのリストを示しています。 Purchasing:02-01-10ルールセット内のCreateRequestという名前のルールの可用性は「Not Available」に設定されています。 直上のバージョンであるPurchasing:02-01-05のルールがルールレゾリューションの対象となります。
最初の展開時に、ルールの可用性を「Not Available」に設定することができます。 これにより、検証を行わずにルールを保存することができます。 「Not Available」と設定されたルールは、Dev Studioで表示、コピー、または編集できますが、実行はできません。
下図の中央にある縦線をドラッグすると、スキップされたルール候補が表示されます。 右の画像では、選択されたルールが太字で表示されています。
Availability = Blocked
可用性が「Blocked」に設定されている場合は、そのルールがルールレゾリューションプロセスで使用できることを示しています。 「Blocked」と設定されたルールは、Dev Studioで表示、コピー、または編集できますが、実行はできません。 ルールレゾリューション中にブロックされたルールが選択されると、実行は停止され、ログファイルにエラーメッセージが追加されます。
下図の表では、Purchasing:02-01-10ルールセット内のCreateRequestという名前のルールの最上位バージョンの可用性は「Blocked」となっています。 このバージョンのルールは、ルールレゾリューション時に利用できますが、実行されません。 これより上位バージョンのルールは存在しないため、例のセクションのルールの場合、セクションは表示されません。
ルールへのアクセスが使用されてはならず、更新されたルールの開発およびリリースに時間を要する場合、ルールをブロックします。
補足: 状況設定ルールがブロックされると、ルールレゾリューションは考慮されませんが、現在のバージョンのルールセットの残りのルールインスタンスがすべて考慮されます。
下図の中央にある縦線をドラッグすると、プロセスがルール候補をスキップしていないことがわかります。 右の画像では、選択されたルールが太字で表示されています。
Availability = Withdrawn
可用性が「Withdrawn」に設定されている場合、現在のバージョンのルールセットと前のバージョンのルールセットにあり、同じ目的(またはルールタイプ)とApply to:クラスを持つすべてのルールが非表示になり、ルールレゾリューションプロセスでAvailabilityが確認された後、対象外となったことを意味します。
ルールレゾリューション中に「Withdrawn」と表示されたルールが見つかった場合、親クラスまたはアプリケーションのルールセットスタックで直上のルールセットでそのルールのインスタンスが検索されます。
下図の表では、Purchasing:02-01-10ルールセット内のCreateRequestという名前のルールの可用性は「Withdrawn」となっています。 同じルールセットに含まれ、バージョン番号が同じかそれ以下で、同じ目的とApply Toクラスを持つすべてのルールは、ルールレゾリューションの対象外となります。 Purchasing:02-01-15のCreateRequestという名前のルールは、ルールセットのバージョンが取り消されたルールのルールセットのバージョンよりも上位にあるため、ルールレゾリューションの対象となります。 Purchasing:02-01-15のルールが存在しない場合は、親クラスであるTGB-Purchasing-Workのルールが選択されます。
「Withdrawn」と設定されたルールは、Dev Studioで表示、コピー、または編集できますが、実行はできません。
補足: 状況設定ルールが取り消されると、ルールレゾリューションは考慮されませんが、現在のバージョンのルールセットの残りのルールインスタンスがすべて考慮されます。
下図の中央にある縦線をドラッグすると、スキップされたルール候補が表示されます。 右の画像では、選択されたルールが太字で表示されています。
補足: ルールのステータスの設定の詳細については、「Setting rule status and availability」を参照してください。
次の問題に答えて、理解度をチェックしましょう。
このトピックは、下記のモジュールにも含まれています。
- ルールレゾリューション v6
If you are having problems with your training, please review the Pega Academy Support FAQs.