価格モデルに対するスクリプト・サポートの拡張

Oracle CPQ 24Dでは、新しい「拡張」タイプの価格モデルおよび「スクリプト価格モデル」タイプの価格設定マトリックス・テンプレートを使用して、料金およびその他の拡張可能な出力値に対してスクリプトがサポートされています。以前は、「拡張」タイプの価格モデル・スクリプトで、製品価格値のみを出力として書き出すことができました。現在はお客様が、コマースおよび「価格の計算」REST APIへの出力として、コスト、基準価格、販売業者価格など、料金価格設定およびその他の動的に計算される拡張可能な暫定料金値も生成できるようになりました。

拡張価格モデルと拡張(レガシー)価格モデルの比較

どちらもBMLを使用して実装しますが、まったく異なります:

差異

拡張(レガシー)価格モデル

(新しい)拡張価格モデル

命名

以前のレガシー拡張価格モデルの名前は、拡張(レガシー)価格モデルに変更されました。

Oracle CPQ 24Dには、新しい拡張価格モデルが導入されています。

生成できる出力

BMLは、製品価格を生成し、製品価格のオプションのCalculationInfoを出力するためにのみ使用できます。複数料金はサポートされていません。価格設定属性値の変更には使用できません。

BMLを使用して、製品価格、料金、および拡張可能な製品価格と料金価格設定の属性値を追加、変更または削除できます。

BMLを表示および編集するUI内の場所

BMLは、価格モデル内で表示または編集します。

新しい拡張価格モデルを作成して、スクリプト価格モデル・テンプレートに関連付けます。

BMLで使用する拡張可能スキーマを定義するスクリプト価格モデル・テンプレートにBMLを記述します。

同じテンプレートを使用して、複数の拡張価格モデルを作成できます。たとえば、同じ割引テンプレートを使用して、北米割引価格モデルと中南米割引価格モデルを作成できます。

価格設定データの格納場所

レガシー拡張価格モデル自体には、価格設定エンジンUIの価格設定データが表示されません。この値はBMLによって決定されるためです。通常、BMLは計算への入力としてデータ表を参照します。

各拡張価格モデルには、関連付けられている価格モデルで表示および編集する、独自の価格設定データを設定できます。

このネイティブ価格設定データは、ほとんどのレガシー拡張価格モデルで以前に必要とされていたデータ表に対応しています。

BML計算の範囲

価格設定の呼出しで価格設定される各明細に対して、BMLが1回実行されます。したがって、100件の明細の価格設定をする場合、BMLが100回呼び出されます。

価格設定の呼出しに複数の明細が含まれるときには、価格設定文書全体に対してBMLが1回実行されます。

新しいタイプのスクリプト価格モデルの名前は「拡張」ですが、レガシー・スクリプト価格モデルの名前は「拡張(レガシー)」価格モデルに変更されました。「拡張(レガシー)」価格モデルの操作を変更せずに、新しい「拡張(レガシー)」価格モデルを作成できます。

「拡張」価格モデルの作成

Oracle CPQ 24Dでは、新しい「拡張」価格モデルと組み合せて使用する新しい「スクリプト価格モデル」タイプの価格設定マトリックス・テンプレートが導入されています。「拡張」価格モデルには、新しい「スクリプト価格モデル」タイプの価格設定マトリックス・テンプレートを関連付けて、BMLスクリプトでアクセスする標準属性とカスタム属性を定義する必要があります。

スクリプト価格モデル・テンプレート

実行時に、価格設定エンジンにより、該当するレコードがコマースの料金配列セットに生成され、関連する出力価格値が見積および構成料金のスキーマに設定されます。

このように、様々な価格値および属性を価格モデルによって出力できるようにすることで、価格設定エンジンの現在のスクリプト機能が強化されています。

有効化のステップ

設定例: 最小割引額と最大割引額を設定して、Supremo製品ラインの割引コリドー(または割引ガイドライン)を会社で設定する必要があるとします:

設定例

このガイドラインは複数通貨であることに注意してください。通貨ごとに値が異なります。

前提条件:

  • 「料金定義」を有効にしていること。Oracle CPQ管理オンライン・ヘルプの「価格設定」 > 「価格設定ポータル」 > 「料金価格設定」 > 「料金定義」を参照してください。

  • 複数料金を採用していること。(ノート: この例では、複数の料金および料金定義が必要ですが、新しい「拡張」価格モデルを使用する必要はありません)

スクリプト・サポートの属性、価格設定参照および価格設定属性の設定

  1. 「管理」 > 「プロセス定義」 > 「文書」 > 「トランザクション明細」 > 「属性」にナビゲートします。

  2. コマース・プロセス属性を定義します。

コマース属性の例

  • 文書: トランザクション明細 属性: 最大値引 属性タイプ: 通貨
  • 文書: トランザクション明細 属性: 最小値引 属性タイプ: 通貨

  1. 「管理」 > 「価格設定ポータル」 > 「価格設定参照」にナビゲートします。

  2. 価格設定参照を定義します。Oracle CPQ管理オンライン・ヘルプの「価格設定」 > 「価格設定ポータル」 > 「価格設定参照」を参照してください。

価格設定参照の例

  • 文書: トランザクション 属性: 販売チャネル 属性タイプ: メニュー メニュー・オプション: 直接、販売業者

  • 文書: トランザクション明細 属性: 部品属性>部品販売製品タイプ 属性タイプ: 文字列

コメント: 「部品属性」属性セットで、「属性の管理」をクリックして、その属性セットを公開します

  1. 「管理」 > 「価格設定ポータル」 > 「価格設定属性」にナビゲートします。

  2. 価格設定属性を定義します。Oracle CPQ管理オンライン・ヘルプの「価格設定」 > 「価格設定ポータル」 > 「価格設定属性」を参照してください。

価格設定属性の例

  • 価格設定エンティティ: 明細 名前: 明細最大値引 入出力: 入力

    • マップ先データ・ソース: <Commerceプロセス名>

    • マップ先ソース属性: 最大割引

    • マップ先ソース・エンティティ: トランザクション明細

  • 価格設定エンティティ: 明細 名前: 明細最小値引 入出力: 入力

    • マップ先データ・ソース: <コマース・プロセス名>

    • マップ先ソース属性: 最小値引

    • マップ先ソース・エンティティ: トランザクション明細

  • 価格設定エンティティ: 料金 名前: 最大割引 入出力: 出力 表示: 管理、ランタイム

  • 価格設定エンティティ: 料金 名前: 最小割引 入出力: 出力 表示: 管理、ランタイム

  1. 「管理」 > 「プロセス定義」 > 「文書」 > 「トランザクション明細」 > 「属性」にナビゲートします。

  2. 「料金定義の同期」をクリックします。

  3. コマース・プロセスをデプロイします。

スクリプト価格モデルの作成 - 価格設定マトリックス・テンプレート

CPQ価格設定ポータルで「スクリプト価格モデル」タイプの価格設定マトリックス・テンプレートを作成するには、次のステップを実行します。

  1. 「管理」 > 「価格設定ポータル」 > 「価格設定マトリックス・テンプレート」にナビゲートします。

  2. 「処理」ドロップダウンから「追加」を選択します。

  3. 「名前」を入力します。

  4. 変数名を入力します。

  5. 「テンプレート・タイプ」ドロップダウンから「スクリプト価格モデル」を選択します。

  6. (オプション)「摘要」を入力します。

  7. 「作成」をクリックします。

  8. 「処理」ドロップダウンから「追加」を選択します。

  9. 次のデータを入力して、テンプレート列を作成します。

    1. 「名前」を入力します。

    2. 変数名を入力します。

    3. 「データ型」を選択します。

    4. 該当する場合は、「参照」を選択します。(参照は文字列データ型でのみ使用できます)

    5. 該当する場合は、「デフォルト値」を入力するか選択します。

    6. デフォルト値を変更できる場合は、「デフォルト値上書き可能」を選択します。

    7. このフィールドを必須にするには、「必須」を選択します。

    8. このフィールドを一意の識別子として指定するには、「キー」を選択します。

    9. このステップを繰り返して、追加の列を入力します。

スクリプト価格モデルの例 - 価格設定マトリックス・テンプレート

スクリプト価格モデルの例 - 価格設定マトリックス・テンプレート

  1. 「スクリプト価格モデル」-「価格設定マトリックス・テンプレート」にBMLスクリプトを入力します。

    1. (「基本詳細」セクションで)「編集」をクリックします。

    2. 「詳細」を展開し、拡張スクリプト」の「編集」リンクをクリックします。

    3. 「価格設定文書属性」タブの該当する属性を選択します。次に例を示します:

      • _currencyCode
      • salesChannel_c
      • lineMaximumDiscount_c
      • lineMinimumDiscount_c
      • salesProductType_c
      • calculationInfo
      • chargeDefinitionCode
      • chargeType
      • dynamicPricingType
      • maximumDiscount_c
      • minimumDiscount_c
      • pricePeriod
      • priceType
      • priceType
    4. 「特殊パラメータ」タブから_currentMatrixを選択します。

    5. 「次」をクリックします。

    6. BMLスクリプトを入力します。BMLスクリプトの例を参照してください

    7. 「保存してクローズ」をクリックします。

  2. 「更新」をクリックします。

BMLスクリプトの例

BMLスクリプトの例

拡張価格モデルの作成

CPQ価格設定ポータルで拡張価格モデルを作成するには、次のステップを実行します。

  1. 「管理」 > 「価格設定ポータル」 > 「価格モデル」にナビゲートします。

  2. 「処理」ドロップダウンから「追加」を選択します。

  3. 「名前」を入力します。

  4. 変数名を入力します。

  5. 「リスト・タイプ」ドロップダウンから「拡張」を選択します。

  6. 「テンプレート」ドロップダウンから、該当するスクリプト価格モデル - 価格設定マトリックス・テンプレートを選択します。

  7. (オプション)「開始」の日付を選択します。この有効開始日の値は、すべての子価格モデル品目に適用されます。

  8. (オプション)「終了」の日付を選択します。この有効終了日の値は、すべての子価格モデル品目に適用されます。

  9. (オプション)「摘要」を入力します。

  10. 「作成」をクリックします。

  11. 「処理」ドロップダウンから「編集」を選択します。

  12. 「追加」をクリックし、行の値を定義します。拡張価格モデルの例を参照してください。

  1. 使用可能なドロップダウンから値を選択し、行に適切なデータ値を定義します。

  2. このステップを繰り返して、追加の行を入力します。

  1. 「更新」をクリックします。

拡張価格モデルの例

拡張価格モデルの例

価格設定ルールへの拡張価格モデルのリンク

CPQ価格設定ポータルで拡張価格モデルを作成するには、次のステップを実行します。

  1. 「管理」 > 「価格設定ポータル」 > 「価格設定ルール」にナビゲートします。

  2. 該当する価格設定ルール(基本価格設定ルールなど)をクリックします。

  3. 「リンク済価格モデル」の「処理」ドロップダウンから「追加」を選択します。

  4. 該当する価格モデル(Supremo North America Discount Corridorsなど)を選択します。

  5. 「追加」をクリックします。