価格リスト用のコンテキストルールを作成する
学習の目的
この単元を完了すると、次のことができるようになります。
- 価格リスト用のコンテキストルールを作成する。
- カートに表示される価格リストを制御する。
コンテキストルールの詳細
コンテキストルールは、商品やプロモーションの適格性を判断するためだけでなく、価格リストや価格リストエントリの適格性を判断するためにも使用されます。
コンテキストルールは親と子の両方の価格リストに割り当てられます。親価格リストで使用した場合、コンテキストルールはカートの価格リストドロップダウンメニューに表示される価格リストを制御します。コンテキストルールを子の価格リストや価格リストエントリで使用した場合は、顧客セグメントや取引先の状況などのルール条件に基づいて、カート内の商品に適用する価格を決定します。
この単元では、カートに表示される価格リストを制御するためのコンテキストルールを作成します。
コンテキストディメンションの作成
CPQ 開発者である Eliza は、2 つのコンテキストルールを作成したいと考えています。B2C 価格リストを消費者取引先に対してのみ利用できるようにするルールと、B2B 価格リストを法人取引先に対してのみ利用できるようにするルールです。まず、コンテキストディメンションを作成します。
では、Eliza と一緒に Trailhead Playground で作業を進めましょう。
前回は、選択リストで取引先の状況を選択するコンテキストディメンションを作成しました。ここでは、自由テキストの入力を許可するコンテキストディメンションを作成します。そのため、[Domain Type (ドメインタイプ)] で [Type in (入力)] を選択する必要があります。この項目は取引先タイプ (法人または消費者) を記録します。
- [Vlocity Product Console (Vlocity 商品コンソール)] ダッシュボードの [Rules (ルール)] で [Context Dimension (コンテキストディメンション)] の横にある
をクリックします。
- 次の詳細を入力します。
- Name (名前):
AccountType
- Code (コード):
DIM_ACCOUNTTYPE
。カスタム式を作成する際に使用され、スペースを含まない一意の値でなければなりません。
- Data Type (データ型): Text (テキスト)
- Domain Type (ドメイン種別): Type in (入力)
- Active (有効): 選択
- Effective From (有効開始日): 本日の日付
-
[Save (保存)] をクリックします。
コンテキストディメンションが準備できました。
次に、注文に関連付けられた取引先レコードの種類を評価する [AccountType] コンテキストディメンションコンテキストの対応付けを作成します。
- [AccountType (取引先タイプ)] コンテキストディメンションを開いた状態で、左サイドバーの [Context Mappings (コンテキストの対応付け)] をクリックします。
-
[New Context Mapping (新規コンテキストの対応付け)] をクリックして [Context Mapping (コンテキストの対応付け)] ダイアログを表示します。
- 以下の詳細を入力します。
- Context Scope (コンテキスト範囲): AnyAccountScope
- Initialization Policy (初期化ポリシー): Always Reinitialize (常に再初期化)
- Initialization Type (初期化種別): Source Expression (ソース式)
- Source Expression (ソース式):
RecordType.Name
。[RecordType.Name] は、コンテキストディメンションに保存されている値と比較される sObject 項目の API 参照名です。
- Sequence (順序):
10
- Active (有効): 選択
- Effective From (有効開始日): 本日の日付
-
[Save (保存)] をクリックします。
コンテキストディメンションとコンテキストの対応付けの両方が設定されましたので、次のステップであるコンテキストルールの作成に進みましょう。
コンテキストルールの定義
では、消費者取引先用と消費者以外の取引先用の 2 つのコンテキストルールを作成しましょう。まず、注文に関連付けられた取引先の種別が [Consumer (消費者)] の場合のみ B2C 価格リストを利用可能にする消費者取引先ルールを作成します。
- [Vlocity Product Console (Vlocity 商品コンソール)] ダッシュボードの [Rules (ルール)] で [Rule (ルール)] の横にある
をクリックします。
- [New Rule (新規ルール)] ダイアログに以下の詳細を設定します。
- Name (名前):
Consumer Accounts (消費者取引先)
- Code (コード):
RULE_CONSUMER_ACCTS
- Description (説明):
Selects consumer accounts (消費者取引先を選択します)
- Expression Mode (式モード): And
- Active (有効): 選択
- Effective Start Date: 本日の日付
-
[Save (保存)] をクリックします。
コンテキストルールが準備できました。次に、条件を追加します。
- 開かれている [Consumer Accounts (消費者取引先)] コンテキストルールの左サイドバーで [Rule Conditions (ルール条件)] をクリックします。
- [Add Condition (条件を追加)] ドロップダウンメニューから [Simple (単純)] を選択します。
- [Rule Condition (ルール条件)] ウィンドウに以下の詳細を入力します。
- Code (コード):
RC_CONSUMER_ACCTS
- Context Dimension (コンテキストディメンション): AccountType。この単元で作成したコンテキストディメンションです。
- Operator (演算子): ==
- Value (値):
Consumer (消費者)
。コンテキストディメンションで設定されたドメイン種別に基づく、自由形式のテキスト入力フィールドです。
-
[Save (保存)] をクリックします。
B2C 価格リストを使用する消費者取引先用のルールが作成できましたので、次は B2B 価格リストを使用する法人取引先用のルールを作成する必要があります。
消費者取引先ルールを作成したときと同じ手順で作成しますが、今回はルール条件で != 演算子を使用します。これにより、法人取引先のみが B2B 価格リストにアクセスできるように指定されます。
これで、消費者取引先と法人取引先用の両方のコンテキストルールが正常に作成されました。
ルールセットの作成
ルールは、ルールセットを使用して商品やサービスに関連付けられます。このビジネスシナリオでは、消費者取引先ルール用と法人取引先ルール用の 2 つのルールセットを作成します。
- [Vlocity Product Console (Vlocity 商品コンソール)] ダッシュボードの [Rules (ルール)] で [Rule Set (ルールセット)] の横にある
をクリックします。
- 次の詳細を入力します。
- Name (名前):
Consumer Accounts Rule Set (消費者取引先ルールセット)
- Rule Type (ルール種別): Qualification (適格性)
- Rule Purpose (ルールの目的): Eligibility (対象資格)
- Expression Mode (式モード): And
- Failure Message (エラーメッセージ):
Valid only for consumer accounts (消費者取引先でのみ有効です)
- Active (有効): 選択
- Effective Start Date (有効開始日): 本日の日付。
-
[Save (保存)] をクリックします。
次に、新しく作成したルールセットに必要なルールを追加します。このルールセットは、商品、価格リスト、価格リストエントリに追加できます。この場合、追加するコンテキストルールは、先ほど作成した [Customer Accounts (顧客取引先)] ルールのみです。
- 開かれている [New Accounts Rule Set (新規取引先ルールセット)] の左サイドバーで [Children Rules (子ルール)] をクリックします。
-
[New Child Rule (新規子ルール)] をクリックします。
- [General Properties (一般プロパティ)] ダイアログに以下の詳細を入力します。
- Rule: Customer Accounts (顧客取引先)
- Sequence (順序):
10
- Action Taken (実行するアクション): Qualify (評価)。この設定は、ルールが True として評価された場合に実行されるアクションを指定します。
-
[Save (保存)] をクリックします。
消費者取引先用のルールセットを作成した後は、法人取引先用に同じ手順でルールセットを作成します。まったく同じ手順で大丈夫です。
重要なのは、2 つの別々のルールセットを作成するということです。そうしないと、消費者取引先に B2C と B2B の両方の価格リストが表示されてしまい、混乱を招く可能性があります。
テストの時間
コンテキストルールをテストする前に、価格リストに適用します。価格リストは価格設定デザイナーで作成します。価格設定デザイナーで B2C 価格リストを開いて、[Consumer Accounts Rule Set (消費者取引先ルールセット)] を適用します。次に、B2B 価格リストを開いて、[Business Accounts Rule Set (法人取引先ルールセット)] を適用します。手順は次のとおりです。
- [App Launcher (アプリランチャー)] から [Vlocity Pricing Designer (Vlocity 価格設定デザイナー)] を検索して選択します。
- ナビゲーションメニューから [PriceList] を選択します。
- [All (すべて)] リストビューから [B2C Price List (B2C 価格リスト)] を選択します。
- [B2C Price List (B2C 価格リスト)] で [CONTEXT RULES (コンテキストルール)] ワークスペースを選択します。
- 右側の [RULE SETS (ルールセット)] リストから [Consumer Accounts Rule Set (消費者取引先ルールセット)] を見つけて選択し、
をクリックして価格リストに追加します。
適用されたコンテキストルールのリストに [Consumer Accounts Rule Set (消費者取引先ルールセット)] が表示されます。
同じ手順を実行して [Business Accounts Rule Set (法人取引先ルールセット)] を B2B 価格リストに追加します。
カートでルールをテストする
コンテキストルールフレームワークのすべてのコンポーネントが定義されましたので、これまでのすべての作業を活かす準備が整いました。
Carole White の新しい注文を作成して、消費者取引先に対して B2C 価格リストのみが表示されることをテストします。注文を作成する際には価格リストを選択しないでください。その理由はすぐにわかります。
注文の [Catalog (カタログ)] ワークスペースで [Select Price List (価格リストを選択)] メニューをクリックします。
B2C 価格リストのみが表示されることに注意してください。Carole は [Consumer Accounts Rule Set (消費者取引先ルールセット)] によってこの価格リストの条件を満たしています。B2B 価格リストが表示されない理由は、[Business Accounts Rule Set (法人取引先ルールセット)] によって禁止されているためです。
同じように、Acme の新しい注文を作成します。ルールが機能することを確認するため、最初は価格リストを選択しないでください。
注文の [Catalog (カタログ)] ワークスペースで [Select Price List (価格リストを選択)] メニューをクリックします。
B2B 価格リストのみが表示されることに注意してください。Acme は [Business Accounts Rule Set (法人取引先ルールセット)] によってこの価格リストの条件を満たしています。一方、[Consumer Accounts Rule Set (消費者取引先ルールセット)] によって B2C 価格リストの表示が禁止されています。カートで両方のルールが想定どおりに機能していることが確認できました。
先へ進む
カートで顧客に表示される価格リストを制御するためのコンテキストルールを作成しました。次の単元では、価格リストエントリにルールを適用して、正しい価格のみが顧客に表示されるようにします。