提供ルールの使用方法
一部のビジネス・オブジェクトには、デフォルトで非アクティブになっているいくつかの提供ルールがすでにあります。 提供ルールを使用するには、最初の提供ルールのコピーを作成し、次にルール・エディタで「アクティブ」チェック・ボックスを選択します。
コピーを作成する場合は、その目的を念頭に置いたルールの名前を選択します。 ただし、ビジネス・オブジェクト、ルール・タイプおよびフィールド名(フィールドレベルのルール・タイプの場合)は変更できません。 必要な数のコピーを作成できます。
ルール名を指定する場合は、「:」や「'」などの特殊文字を使用しないでください。
ルールのコピー
提供ルールを目的のルール定義の最終点または開始点として使用するには、そのコピーを作成する必要があります。 ルールが、実装する必要がある内容に正確に一致する場合、これは、同じルールの値のバリエーションがあるときに役立ちます。 値のバリエーションとは、ロジックが2つの国で同じであるが、特定のデフォルトのアサイメントが国に基づいて変更されるなどです。 オートコンプリートのルールにはcaseもswitch文も実装できないため、複雑なネストされたIF条件を記述するのではなく、国ごとにルールのコピーを作成することをお薦めします。 これは、複数の担当者が様々な作業領域を担当する分散開発の問題のデバッグにも役立ちます。
ルールを1つ作成するか、複数のルールを作成するかを決定するために、次の質問をします。 各ルールのロジックは相互に排他的ですか。 あるルールが他のルールに影響を与える可能性がありますか。 すべてのルールは、ルール・タイプによる指示と同じオブジェクト(またはイベント)で、同時にトリガーが試みられます。 ルール・ロジックを連続的にする必要がある場合は、1つのルールに設定する必要があります。 これは、パターン・マッチングで発生する可能性があります。
提供ルールが、実装する必要がある内容に正確に一致しない場合、まずルールの1つのコピーを作成し、ニーズに合致するように編集してから、ルールの値のバリエーションを考慮するために、編集したルールの複数のコピーを作成できます。
ルールの編集
ルールが、実装する必要がある内容に近い場合に、ルールを編集することをお薦めします。 ただし、提供ルールを編集する場合、コピー・アンド・ペーストやインデントの増減など、スクリプト・エディタで一般的に見られる編集手法を使用できません。 次のいずれかを行う場合は、事前定義済ルールを編集することをお薦めします。
-
既存のIFブロックに条件を追加します。
-
フィールドの名前を別の名前に変更します。
-
値を別の値に変更します。
-
既存のブロックから条件を削除します
-
提供内容に従い、すでに設定されているすべての変数を利用して、提供されたIFブロックを削除して、独自のIFブロックを設定します。
-
前述の1つに使用する変数を追加します。
これらの条件がいずれも適用されない場合は、ルール設計で概説されているステップに従って独自のルールを作成する必要があります。
ルールのアクティブ化
コピーしたルールを使用するには、アクティブにする必要があります。 ただし、Oracleでは、問題のあるシナリオを回避する目的でベスト・プラクティスや手法を組み込むために、提供ルールを適宜編集する権利を留保します。 これは、以前の提供ルールのコピーには干渉しません。
ルールのテストと公開
ルールをテストしたら、サンドボックスを公開する必要があります。 サンドボックスの公開後、その環境から作成されたその他のサンドボックス、またはルールが公開された環境からの別の環境のリフレッシュで、自動的に公開済ルールを受け取ります。 これは、ある環境から別の環境にルールを移行する唯一の方法です。 また、提供ルールに大幅な編集を行っていない場合は、ルールを表示する環境で、提供ルールに変更を手動で再適用できます。