ビジネス・ルールでの拡張モードおよびツリー・モードの使用
ビジネス・ルールで拡張モードを使用して、優先度の設定、変数の設定、コレクションの定義などを行います。
-
複数のルールを処理する必要がある場合は、ルールの優先度を設定します。
-
ルールでオブジェクトの2つのインスタンスを比較できるように、または階層関係を作成できるように、オブジェクトの変数名を設定します。
-
1つのビジネス・ルールでオブジェクトのコレクションを設定します。
-
If Then Elseや複数のIf文などの複雑なルール・ロジックを使用します。
-
ツリー・モードを使用して、オブジェクト階層を保守します。
拡張モードの使用
拡張モードを使用するルールの最上部を次に示します。
拡張モードの使用時にルール・ヘッダーで使用できる属性は次のとおりです。
属性 |
説明 |
---|---|
有効日 |
ビジネス・ルールを使用できるタイミングを決定します。 |
Priority |
ルールのセットを作成するときに、各ルールをいつ実行するかを決定します。
|
アクティブ |
ビジネス・ルールを使用できるようにします。 有効にチェック・マークが付いていない場合、オーダー管理でチェック・マークがアクティブ・ルールとして以前にリリースされていても、検証中にオーダー管理にチェック・マークは含まれません。 |
拡張モードを使用する例を確認します。 詳細は、「Product Information Managementからのデータの取得」を参照してください。
ツリー・モードを使用
ビジネス・ルールは、実行時にファクトを使用してルールを評価します。
-
ビジネス・ルールでは、オーダー管理のデータ・モデルを使用して、使用する必要があるファクトを識別します。
-
ファクトには、オーダー管理の外部にあるデータは含まれません。
-
Oracle Application Development Framework (ADF)のビジネス・コンポーネントに従って変換、プロセス割当ておよびルーティング・ルールにファクトを使用し、特にデータ・モデルを公開するオブジェクト(
VO
)を表示します。 -
ビュー・オブジェクトは、販売オーダーなどのトランザクション・データの階層ビューを提供します。 ただし、各ビジネス・ルールでは、ルール言語(
RL
)ファクトに変換されます。 ルール言語のファクトには階層は含まれません。 ルール言語ファクトを管理する必要はありませんが、この変換はルールの作成方法に影響する可能性があります。 -
ファクトがアプリケーション開発フレームワークのビジネス・コンポーネントであり、ルールで複数のオブジェクト・タイプを使用する場合は、ルールでビュー・オブジェクト(
VO
)階層を再確立する必要があります。 階層を再確立すると、各ルールが最適なレベルで実行されます。
アプリケーション開発フレームワークのビジネス・コンポーネント・ファクトのプロパティ
プロパティ |
説明 |
---|---|
ViewRowImpl |
ビュー・オブジェクト内の行を参照します。 ViewRowImplを使用して、データベース表の行にアクセスします。 通常、このプロパティは結果で指定します。 変換ルールでは必須です。 他のビジネス・ルールではオプションです。 Java用のビジネス・コンポーネント・フレームワークは、ビュー・オブジェクト問合せが行に対して返すレコードごとにViewRowImplのオブジェクトをインスタンス化します。 |
key_values |
oracle.rules.sdk2.decisionpoint.KeyChainオブジェクトを参照します。 このプロパティは、この行のキー値と、この行の親行のセットの取得に使用できます。 このプロパティはオプションです。 |
拡張モードを明示的な結合とともに使用して、階層を再設定できます。 ツリー・モードを使用して、ルール・エディタで階層をより明確に表現することもできます。
オブジェクト階層の保守
拡張モードまたはツリー・モードを使用する場合は、オブジェクト階層を保守する必要があります。
拡張モード |
拡張モードおよびツリー・モード |
---|---|
拡張モードのみを使用し、ルールのIf文およびThen文が販売オーダーのパブリック・ビュー・オブジェクトを処理する場合、ルールでは各パブリック・ビュー・オブジェクトを結合して販売オーダー階層を正確に表すようにする必要があります。 たとえば:
|
拡張モードおよびツリー・モードを使用する場合は、ヘッダー、行、FulfillLineなどの既存の階層内のオブジェクトを選択できます。 拡張可能フレックスフィールドを使用する場合は、さらに結合を作成する必要がある場合があります。 |
ノート
-
ツリー・モードを使用する場合は、拡張モードも使用します。拡張モードは階層の保守に役立ちます。
-
オブジェクト階層の保守に拡張モードのみを使用する場合は、階層を明示的に指定する必要があります。 例を表示します。 詳細は、「Product Information Managementからのデータの取得」を参照してください。
-
ツリー・モードを使用してオブジェクト階層のルートを設定した場合、ルール・エディタでは、ルールの作成中にルート・レベルまたはルート・レベルの下にのみオブジェクトが表示されます。 このフィルタリングは、オブジェクト階層を正しく維持するのに役立ちます。
-
ツリー・モードでは、スラッシュ(/)を使用して階層を示します。
ツリー・モードを使用してオブジェクト階層を維持し、スラッシュを使用する例を表示します。 詳細は、「明細選択ルールでの拡張可能フレックスフィールドの使用」を参照してください。