目的別ルール設定
ルールの目的は、ルール名とルールタイプの組み合わせで定義されます。最初のステップでは、参照されたルールの目的に合致するすべてのルールのリストが、ルールレゾリューションアルゴリズムによって作成されます。この例では、CreateRequestという名前のすべてのHTMLセクションのルールが同じ目的を持っていると想定され、ルールレゾリューションアルゴリズムがルールインスタンスをリストに収集します。
各ルールインスタンスには異なるルールセットとルールセットバージョンがあるため、ルール候補の最初のリストにはルールインスタンスが多数存在する場合があります。
「Not Available」と記されたルール
このステップでは、ルールレゾリューションアルゴリズムがルール候補のリストをフィルタリングし、ルールのAvailabilityがNot Availableに設定されているルールを削除します。
この例では、ルールレゾリューションアルゴリズムは、ルールのAvailabilityがNot Availableに設定されているルールを3つ見つけます。これらのルールはルール候補のリストから削除されます。
次の画像の中央にある縦線をスライドさせると、左にハイライトされた3つのルールが表示され、右にはリストから削除された同じ3つのルールが表示されます。
適用不可能なルールセット内のルール
このステップでは、ルールレゾリューションアルゴリズムが、オペレーターのルールセットリストを使用して、オペレーターがアクセスできるルール候補を決定します。
各ルール候補が結果に含まれるためには、オペレーターのルールセットリストに記載されているルールセットに属する必要があります。各ルールは、メジャーバージョン番号が同じで、マイナーバージョン番号がオペレーターのルールセットリストに記載されている指定のマイナーバージョン番号以下である必要があります。
この例では、オペレーターのルールセットリストにPurchasing:02-01とTGB:03-01が含まれている場合を考えてみます。Purchasing:01-01-01ルールセットの3つのルールは、オペレーターのルールセットリストに定義されているメジャーバージョン(Purchasing:02-01)と一致しないため、削除されます。
次の画像の中央にある縦線をスライドさせると、左にハイライトされた3つのルールが表示され、右にはリストから削除された同じ3つのルールが表示されます。
また、Purchasing:02-02-01ルールセットのルールは、マイナーバージョン番号(Purchasing:02-02)が、オペレーターのルールセットリストで定義されているマイナーバージョン番号(Purchasing:02-01よりも高いため、削除されます。
次の画像の中央にある縦線をスライドさせると、左にハイライトされたルールが表示され、右にはリストから削除された同じルールが表示されます。
TGBのルールセットのルールのうち、オペレーターのルールセットリストに記載されている現在のメジャーバージョン(TGB:03-01)と一致するルールは1つだけです。TGBルールセットのその他のルールはすべて削除されます。
次の画像の中央にある縦線をスライドさせると、左にハイライトされたルールが表示され、右にはリストから削除された同じルールが表示されます。
QuotingおよびSAEのルールセットのルールは、オペレーターのルールセットリストに記載されていないため、除外されています。
次の画像の中央にある縦線をスライドさせると、左にハイライトされたルールが表示され、右にはリストから削除された同じルールが表示されます。
クラス階層外のルール
このステップでは、残りの候補ルールが参照先ルールの継承階層にある場合に、ルールレゾリューションアルゴリズムによって候補ルールのリストでapplies to classが調べられます。
残りの候補ルールのapply toクラスが、参照されたルールのアンセスターツリーと一致していないと、結果に含まれません。参照されたルールのアンセスターツリー(パターンまたは直接継承)で見つかったルールのみがリストに保持されます。
この例では、参照されるルールはTGB-Purchasing-Work-PurchaseRequestクラスに適用されます。アンセスターツリーにないルール候補が1つあるので、リストから削除します。
次の画像の中央にある縦線をスライドさせると、左にハイライトされたルールが表示され、右にはリストから削除された同じルールが表示されます。
以下のインタラクションで理解度をチェックしてください。
このトピックは、下記のモジュールにも含まれています。
- ルールレゾリューション v7