Oracle Advanced Pricingインプリメンテーション・マニュアル リリース12 E05612-01 | ![]() 目次 | ![]() 前へ | ![]() 次へ |
この章では次のトピックについて説明します。
価格設定エンジンが複数の価格またはモディファイアを戻す対象として検出したが、価格設定エンジンとユーザー定義のルールによって複数の対象の適用が禁止されている場合に、非互換が発生します。「イベント・フェーズ」ウィンドウの「非互換性解決コード」フィールドを「優先」または「最善価格」に設定することにより、非互換性を解決できます。
優先: 価格表間またはモディファイア・リスト間に非互換があり、フェーズの非互換性解決コードが優先の場合、価格設定エンジンは、クオリファイア属性と品目コンテキスト属性を最上位優先度から最下位優先度(番号1が最上位優先度)まで順序付けし、非互換を解決しようとします。最上位優先度が設定されているクオリファイア属性または品目属性が他のすべての属性より優先され、エンジンは、この属性が含まれている価格表明細またはモディファイア・リスト明細を選択します。
最善価格: 最善価格は、最大の値引値を算出する最大モディファイア値です。価格設定エンジンは、モディファイア・リスト間に非互換があり、フェーズの非互換性解決コードが最善価格の場合、エンジンは、最善価格を提供するモディファイアを検出することによって、非互換を解決しようとします。
注意: 非互換解決は、価格設定エンジンのフェーズ順序0(リスト明細基準価格)を除く各フェーズについて設定できます。フェーズの詳細は、「イベントとフェーズ」を参照してください。
優先による非互換解決では、価格設定エンジンは価格設定属性およびクオリファイア属性に割り当てられた優先番号を評価します。シード済属性およびユーザー入力の属性の優先番号は、「コンテキスト設定」ウィンドウの「優先」フィールドで定義されます。
シード済属性: 事前に割り当てられている優先番号がシード済属性に割り当てられます。
ユーザー入力の属性: 属性を作成または更新するときに、優先番号を定義できます。
属性および属性の優先値は、「価格表」ウィンドウ、「モディファイア」ウィンドウおよび「クオリファイア」ウィンドウの適切な価格表にデフォルト設定されます。ただし、価格表、モディファイアまたはクオリファイア明細の特定の属性について優先値を変更する場合は、特定の明細の優先値のみを手動で上書きできます。この上書きでは、その明細の優先値のみが変更されます。ただし、属性の実際の優先番号を更新して新しい値にデフォルト設定されるようにするには、「コンテキスト設定」ウィンドウで優先番号を変更する必要があります。
警告: 将来のアップグレードで問題が発生しないように、「コンテキスト設定」ウィンドウではシード済属性の元の優先番号は変更しないでください。
優先と価格設定属性
価格設定コンテキスト(品目コンテキストを除く)に定義された属性に対する優先番号は、価格設定エンジンによる優先判別時の評価に関して重要な意味はありません。
価格設定エンジンは、優先を順序付けするときに、価格表またはモディファイアに対する一致クオリファイアのみを評価します。一致クオリファイアとは、TRUEとして評価される属性のことです。クオリファイアはOR条件で定義することができるため、価格表またはモディファイアの設定時に存在している一部のクオリファイア属性は、エンジンによって選択されない、つまり対象とされない場合があります。価格設定エンジンは、クオリファイア属性を順序付けして最上位優先度が設定されている属性を判別するときに、一致クオリファイアのみを使用します。
次の表に、モディファイア・リストの各属性に対して属性番号が設定されたシード済のクオリファイア・コンテキストとクオリファイア属性をいくつか示します。クオリファイア属性である基本契約タイプと顧客区分はグループ化番号が同じで、受注タイプはグループ化番号が異なります。エンジンがモディファイアを選択するには、受注について基本契約タイプと顧客区分がTRUEであるか、受注タイプがTRUEである必要があります。この例では、受注タイプがTRUEで、基本契約タイプと顧客区分はFALSEです。受注タイプが一致属性です。優先の評価には、受注タイプに対する値のみ使用されます。
注意: 明細の有効な優先 = 最小(製品/クオリファイア優先)
グループ化番号 | クオリファイア・コンテキスト | クオリファイア属性 | 優先 | 一致するかどうか |
---|---|---|---|---|
1 | 顧客 | 基本契約タイプ | 240 | 不一致 |
1 | 顧客 | 顧客区分 | 310 | 不一致 |
2 | 受注 | 受注タイプ | 470 | 一致 |
価格設定エンジンは、フェーズ順序0で価格表から基準価格を計算するようにコーディングされています。フェーズ0は、非互換性解決コードが優先でコーディングされています。この設定は変更できません。価格設定エンジンは、価格設定要求に対して複数の価格表の価格が適用可能であると判断した場合、クオリファイア属性と品目属性を順序付けして非互換を解決しようとします。この詳細は、この章の優先による解決の項で説明します。
複数の価格表明細が一致し優先度が同じ場合、価格設定エンジンは一致した価格設定属性が多い価格表明細を選択します。価格表間の非互換が解決できない場合は、価格を適用できないことを示すエラー・メッセージが呼出し側アプリケーションに戻され、非互換がある価格表の名前がリストされます。
モディファイア処理に関連するフェーズに対する非互換性解決コードは、シード済値から、ビジネス・ニーズを反映する値に変更できます。この例外はフェーズ0で、このコードは変更できません。
非互換のモディファイアはモディファイア・タイプ間にわたる場合があります。したがって、エンジンが最善価格によって非互換性を解決するとき、同じ基準でモディファイアを評価する必要があります。このように評価するために、各モディファイアについて共通の特典パーセントを計算します。次の表は、各モディファイア・タイプの最善価格の評価に使用されるモディファイア値を示しています。
モディファイアのタイプ | モディファイア値 |
---|---|
値引/追加料金: パーセント | 定価% |
値引/追加料金: 金額 | 金額 |
値引/追加料金: 新価格 | 定価-新価格 |
値引/追加料金: 総額 | 総額/明細数量 |
価格分岐 | 価格分岐の最善価格の比較は、一致する分岐モディファイアとその定価×%の値に基づきます。 |
条件代替 | モディファイア明細の「比較値」フィールドで定義された見積値引値。この値が指定されない場合、最善価格は0(ゼロ)に設定されます。 |
品目アップグレード | モディファイア明細の「比較値」フィールドで定義された見積値引値。この値が指定されない場合、最善価格は0(ゼロ)に設定されます。 |
クーポン発行 | モディファイア明細の「比較値」フィールドで定義された見積値引値。この値が指定されない場合、最善価格は0(ゼロ)に設定されます。 |
他の品目値引 | モディファイア明細の「比較値」フィールドで定義された見積値引値。 |
販促品 | モディファイア明細の「比較値」フィールドで定義された見積値引値。 |
運送費 | 値引および追加料金と同じです。 |
価格設定エンジンは、算式を使用するモディファイアは最善価格の計算の対象としません。
価格設定エンジンは、モディファイア・タイプを評価して最善価格となるモディファイアを判別するために、共通の基準を必要とします。このために、共通の特典パーセントを計算します。一部のモディファイア・タイプについては、エンジンが最善価格の評価に使用できる明確な値がないため、エンジンは、ユーザーがモディファイア要約明細の「比較値」列に入力した値を使用します。エンジンは、比較値(分子)を、モディファイアが適用される品目の定価(分母)で除算して、特典パーセントを計算します。特典パーセントは、評価対象のモディファイア明細に対する他の特典パーセントと比較されます。特典パーセントの数値が最も大きいものが、最善価格となるモディファイアです。エンジンはこのモディファイアを適用します。
注意: 比較値はユーザー入力フィールドです。価格設定エンジンは、この値を使用して共通の特典パーセントを計算します。
価格設定エンジンは、モディファイアの選択および最善価格の計算の判定時に、バケットを無視します。最善価格は、定価からの値引で計算されます。たとえば、品目の定価が100ドルだとします。エンジンは、品目がモディファイアA、BおよびCの適用対象であることを確認します。モディファイアBとCは非互換で、エンジンは最善価格によって非互換性を解決する必要があります。モディファイアBは次のように計算されます。
100 - (100 - 75) = 75
モディファイアCは次のように計算されます。
100 - (100 * 0.125) = 87.5
この結果、より有利な価格であるモディファイアBが選択されます。
モディファイア | 非互換 | バケット | 適用方法 | 値 | 最善価格の計算 | エンジンの選択 |
---|---|---|---|---|---|---|
A | 該当なし | 1 | パーセント | 20 | = | 選択 |
B | レベル1 | 2 | 新価格 | 75 | 75 | 選択 |
C | レベル1 | 2 | パーセント | 12.5 | 87.5 | 非選択 |
適用対象のモディファイアのみが計算エンジンに送信されると、これらのモディファイアは適切なバケットで計算されます。この例では、計算エンジンは定価100ドルを取得し、バケット1の値引20%分を減算し、販売価格は80ドルになります。次に、エンジンは80ドルからバケット2の値引を計算します。モディファイアBは新価格の値引であるため、5ドルの値引が作成され、新販売価格は75ドルになります。
優先を判別するために、エンジンは、モディファイア明細に対して、適用対象となるすべてのヘッダー・レベル・クオリファイアと明細レベル・クオリファイアおよび品目コンテキストを選択します。次に、最小の優先番号が設定されている属性を選択します。この属性が非互換解決に使用されます。
優先処理時に複数のモディファイアが優先処理に基づいて関連付けられた場合、エンジンは設定されている優先を下回らない、最善価格処理を使用して非互換を解決します。
フェーズの非互換性解決コードが優先で、複数のモディファイア明細が適用対象となる場合、エンジンは次のように非互換を解決します(この例の場合、すべてのクオリファイア属性が一致していると仮定しています)。
モディファイア | コンテキスト・タイプ | コンテキスト | 属性 | 優先番号 | 優先の選択 | 非互換性の解決 |
---|---|---|---|---|---|---|
A | クオリファイア | 顧客 | 基本契約タイプ | 240 | 選択 | 非選択 |
A | クオリファイア | 顧客 | 顧客区分 | 310 | 非選択 | 非選択 |
A | 価格設定 | 品目 | 品目番号 | 300 | 非選択 | 非選択 |
B | クオリファイア | 受注 | 受注タイプ | 470 | 非選択 | 非選択 |
B | 価格設定 | 品目 | 品目カテゴリ | 290 | 可能 | 非選択 |
C | クオリファイア | 受注 | 受注額 | 100 | 選択 | 選択 |
C | 価格設定 | 品目 | 品目番号 | 200 | 非選択 | 非選択 |
最初に、エンジンは、モディファイアごとに最小の優先番号が設定されている属性を選択します。モディファイアAについては、基本契約タイプが最も小さい番号であるため選択されます。モディファイアBについては品目カテゴリが選択され、モディファイアCについては受注額が選択されます。
エンジンは、3つのモディファイアの優先番号を順序付けして非互換性を解決します。モディファイアCの番号が最も小さいため、最上位優先度であるとして選択されます。このモディファイアがエンジンによって戻されます。
フェーズの非互換性解決コードが優先であり、エンジンが複数のモディファイア間の非互換性を優先によって解決できない場合、エンジンは最善価格による解決を使用して非互換性を解決します。複数のモディファイアの計算結果が同じ最善価格になる場合、エンジンはその中から1つをランダムに選択して、呼出し側アプリケーションに戻します。
価格設定エンジンが複数のモディファイアを戻す対象として検出したが、適用できるモディファイアがそのうちの1つのみの場合に非互換性が発生します。モディファイア明細間に非互換がある場合、価格設定エンジンは優先値を評価し、最上位優先度(優先番号1が最上位優先度)が設定されているモディファイア明細を選択して非互換を解決しようとします。
注意: フェーズの非互換処理の優先度を決定する非互換性解決コードは、「優先」に設定する必要があります。
最上位優先度が設定されているクオリファイア属性または品目属性が他のすべての属性より優先され、エンジンは、この属性が含まれているモディファイアを選択します。
注意:
フェーズ順序、フェーズ名および非互換グループ名でモディファイアを問い合せ、「非互換グループ」ウィンドウに結果を表示するには、「非互換グループの検索」ウィンドを使用します。問合せはフェーズ固有のもので、リスト明細調整フェーズのような特定のフェーズに割り当てられているモディファイア明細のみ戻します。選択したフェーズのすべてのモディファイア明細を表示でき、非互換グループを変更または割り当てることができます。関連モディファイアとその明細詳細を表示および編集するには、「モディファイア」をクリックします。
非互換グループ: モディファイア明細に現在割り当てられている非互換グループを表示します。
モディファイア明細を非互換グループに割り当てると、価格設定エンジンが非互換処理を使用して、複数の適用対象モディファイア明細間の非互換性を解決できるようになります。非互換が発生した場合、価格設定エンジンは、(特定のフェーズに割り当てられた)非互換グループ内のモディファイア明細を確認し、それらの製品優先値を最上位優先度から最下位優先度(番号1が最上位優先度)まで評価して、最上位優先度が設定されているモディファイア明細を選択します。「非互換グループ」フィールドで、既存の非互換グループ割当てを変更したり、新規の非互換グループをモディファイア明細に割り当てることができます。
注意: モディファイア明細を非互換グループに割り当てる必要はありません。
製品優先: この値は、モディファイア明細の製品優先を識別します。価格設定エンジンは、非互換解決時に製品優先値を評価し、最上位優先度(製品優先番号1が最上位優先度)が設定されているモディファイア明細を選択します。必要に応じて、「モディファイア」をクリックしてモディファイアを開き、製品優先値を変更できます。
注意: クオリファイア属性の優先度は表示されません。これらの属性は、非互換解決時にエンジンによって評価されます。
次に、優先または最善価格によるモディファイアと価格表の非互換処理の例を示します。
次の表に、各属性に対して優先番号が設定された、シード済のクオリファイア・コンテキスト、クオリファイア属性および品目コンテキストと品目番号属性をいくつか示します。
コンテキスト・タイプ | コンテキスト | 属性 | 優先番号 | 価格表 |
---|---|---|---|---|
クオリファイア | 顧客 | 基本契約タイプ | 240 | B |
クオリファイア | 顧客 | 顧客区分 | 310 | A、B |
クオリファイア | 受注 | 受注タイプ | 470 | A |
価格設定 | 品目 | 品目カテゴリ | 290 | A、B |
次の設定について考えます。
価格表A
クオリファイア: 「顧客区分」 = 「VIP顧客」
価格表B
クオリファイア: 「基本契約タイプ」 = 「年次」と「受注タイプ」 = 「特別」
両方の価格表に品目カテゴリZの価格が記載されています。品目Xは品目カテゴリZに属しています。品目Xに対して定義されている価格表はありません。
Oracle Order Managementで品目Xが注文されます。Oracle Order Managementから価格表名を含まない価格設定要求が価格設定エンジンに送信された場合、価格設定エンジンは品目Xの価格表を検索する必要があります。価格設定エンジンは品目Xの価格を検出しませんが、品目Xが品目カテゴリZに属していることがわかります。品目カテゴリZは、価格表Aと価格表Bの両方に記載されています。1つの品目に対して戻すことができる価格は1つのみであるため、エンジンはどちらの価格表を選択するかを決定する必要があります。
この問題を解決するために、エンジンは最初に価格表Aのクオリファイア属性と品目コンテキスト属性を評価します。価格表Aで、顧客区分の優先番号は310、品目カテゴリの優先番号は290です。したがって、エンジンは、価格表Aの最上位優先として品目カテゴリを選択します。
価格表Bで、基本契約タイプの優先番号は240、受注タイプの優先番号は470です。したがって、エンジンは品目コンテキストと比較するために、番号240が設定されている基本契約タイプを選択します。優先番号が290の品目カテゴリが番号240の基本契約タイプと比較されます。基本契約タイプの番号の方が小さく、これは価格表Bでの最上位優先です。エンジンは価格表AとBの優先番号を、最も小さい番号から最も大きい番号まで順序付けします。エンジンは最も小さい番号(最も優先度が高い番号)を選択します。
エンジンは、次の表に示すように属性を順序付けします。
コンテキスト・タイプ | コンテキスト | 属性 | 属性番号 | 価格表 |
---|---|---|---|---|
クオリファイア | 顧客 | 基本契約タイプ | 240 | B |
価格設定 | 品目 | 品目カテゴリ | 290 | A、B |
基本契約タイプの属性番号は240であるため、価格設定エンジンは品目Xの価格を価格表Bから選択し、この情報を呼出し側アプリケーションに戻します。
注意: 呼出し側アプリケーションが、価格設定要求で有効な価格表をエンジンに送信し、この価格表の価格を受信する場合、エンジンは優先による解決を実行せずに、指定された価格表の価格を戻します。前述の例を使用すると、Oracle Order Managementから価格表Aを使用する価格設定要求が送信され、その適格ルールが一致する場合、エンジンは価格表Aの価格をOracle Order Managementに戻し、非互換処理を実行する必要はありません。
デフォルトの優先番号は、設定時に「価格表」ウィンドウで変更できます。
次の例で、価格設定エンジンは優先による解決に基づいて次のモディファイアを選択します(この例の場合、すべてのクオリファイア属性が適格であると仮定しています)。
リスト明細調整フェーズでは次のように選択されます。
「優先値引」は、この非互換レベルのモディファイアが他にないため適用されます。
「XYZブランド値引」と「サマー・キャンペーン」は同じフェーズで同じ非互換グループ内にあります。「サマー・キャンペーン」については、全品目の優先番号が最も小さく315です。「XYZブランド値引」の品目カテゴリの優先番号は290です。品目カテゴリの優先番号である290が最上位優先度であるため、「サマー・キャンペーン」ではなく「XYZブランド値引」が選択されます。
明細手数料フェーズでは、この非互換レベルのモディファイアが他にないため、「再包装手数料」が適用されます。
ヘッダー・レベル調整フェーズでは、「新規サイト値引」は排他グループであるため、このフェーズで適用される唯一のモディファイアです。
ヘッダー・レベル手数料フェーズでは、この非互換レベルのモディファイアが他にないため、「取扱手数料」が適用されます。
価格設定フェーズ | モディファイア | 非互換グループ | クオリファイア/製品属性 | 優先 | エンジンの選択 |
---|---|---|---|---|---|
リスト明細調整 | 優先値引 | レベル1 | 顧客区分 品目番号 | 310 220 | 選択 |
リスト明細調整 | サマー・キャンペーン | レベル2 | 販売チャネル 全品目 | 320 315 | 非選択 |
リスト明細調整 | XYZブランド値引 | レベル2 | 品目カテゴリ | 290 | 選択 |
明細手数料 | 再包装手数料 | レベル1 | 品目番号 | 220 | 選択 |
ヘッダー・レベル調整 | 新規サイト値引 | 排他 | サイト使用 品目ALL | 270 315 | 選択 |
ヘッダー・レベル調整 | 受注額による値引 | レベル1 | 顧客名 品目番号 | 260 220 | 非選択 |
ヘッダー・レベル調整 | 独立記念日キャンペーン | レベル1 | 販売チャネル 全品目 | 320 315 | 非選択 |
ヘッダー・レベル手数料 | 取扱手数料 | レベル1 | なし | なし | 選択 |
価格設定エンジンは、モディファイアAとモディファイアBが非互換であることを確認します。フェーズの非互換性解決コードは最善価格に設定されています。モディファイアAは10%の値引で、モディファイアBは他の品目値引で比較値は200です。モディファイアが適用される品目の定価は1000ドルです。エンジンは、共通の特典パーセントを計算して、最も数値の大きいモディファイアを判別します。
モディファイア | 値 | 計算 | 共通の特典パーセント | 最大数値 |
---|---|---|---|---|
A | 10% | なし | 10 | 非選択 |
B | 200比較値 | 200比較値/1000定価 | 20 | 選択 |
モディファイアBの共通の特典パーセントが最も大きいため、最善価格の値引として適用されます。
注意: 最善価格処理は、受注レベルのモディファイア・タイプ(「値引」、「追加料金」、「運送および特別手数料」)には使用できません。