Comments
Description
Transcript
Oracle CPQ Cloud
Oracle CPQ Cloud 2016 R1 最新情報 2016年8月 内容 変更履歴 ...................................................................................................................................................................... 4 概要 .............................................................................................................................................................................. 5 リリース機能の要約................................................................................................................................................... 6 最高峰のエンタープライズ対応 ............................................................................................................................... 7 部品構成表(BOM)マッピング ......................................................................................................................... 7 BOMマッピングの概要 ...................................................................................................................................................... 8 BOMマッピング表 ............................................................................................................................................................ 10 BOM管理 ............................................................................................................................................................................ 12 部品構成表ページ ............................................................................................................................................................. 13 ユーティリティ関数の宣言 ............................................................................................................................................. 17 BOMマッピング・ルール ................................................................................................................................................ 18 参照情報 ............................................................................................................................................................................. 19 サブスクリプション・オーダー ........................................................................................................................ 29 資産 ..................................................................................................................................................................................... 29 資産の作成 ......................................................................................................................................................................... 31 資産変更 ............................................................................................................................................................................. 31 再構成 ................................................................................................................................................................................. 32 後続オーダー ..................................................................................................................................................................... 32 資産終了 ............................................................................................................................................................................. 32 契約ネゴシエーション ........................................................................................................................................ 33 契約ネゴシエーションの有効化...................................................................................................................................... 33 単一言語テンプレートからの契約作成 .......................................................................................................................... 34 契約のキャプチャ・バージョン...................................................................................................................................... 34 ドキュメント・バージョン間の差分リストの生成 ...................................................................................................... 34 ............................................................................................................................................................................................. 34 承認済変更のマージ ......................................................................................................................................................... 35 データテーブルの保護列 .................................................................................................................................... 36 保護列をTABLEデータテーブルに追加 ......................................................................................................................... 38 容易な管理 ................................................................................................................................................................ 40 構成における単一選択ピックリスト ................................................................................................................ 40 「単一選択ピックリスト」属性へ非表示ルールを適用 .............................................................................................. 40 「関連ルール」タブを使用して「単一選択ピックリスト」の参照を検出............................................................... 41 イメージ・グリッドとしての「単一選択ピックリスト」を表示 .............................................................................. 42 「単一選択ピックリスト」のデータ・ソースとして配列セットを使用 .................................................................. 44 UI デザイナ ........................................................................................................................................................ 47 レイアウト・リスト・ページ.......................................................................................................................................... 47 UI デザイナの画面レイアウト ........................................................................................................................................ 48 レイアウト ......................................................................................................................................................................... 49 属性 ..................................................................................................................................................................................... 49 レイアウトの設定 ............................................................................................................................................................. 50 パネル設定 ......................................................................................................................................................................... 52 表設定 ................................................................................................................................................................................. 53 列設定 ................................................................................................................................................................................. 54 ボタン設定 ......................................................................................................................................................................... 55 パフォーマンス・ログ・ページ ........................................................................................................................ 57 例による問合せ(QBE) ................................................................................................................................................. 57 BML 拡張............................................................................................................................................................... 58 JSON 関連関数................................................................................................................................................................... 59 JSON 配列関連関数 ........................................................................................................................................................... 59 JSON パス関連関数 ........................................................................................................................................................... 60 リモート承認をサポートする関数.................................................................................................................................. 65 固有 ID生成関数................................................................................................................................................................ 69 URLアクセス関数 ............................................................................................................................................................. 69 同一サーバー認証 ............................................................................................................................................................. 70 ユーザー・セッション関数 ............................................................................................................................................. 70 2 グローバル・ディクショナリ関数.................................................................................................................................. 72 エラー・スロー関数 ......................................................................................................................................................... 75 テンプレート適用関数 ..................................................................................................................................................... 76 BML印刷ログ .................................................................................................................................................................... 77 ドキュメントデザイナの新機能 ........................................................................................................................ 78 パフォーマンス機能 ......................................................................................................................................................... 78 フォーマットおよびスタイル機能.................................................................................................................................. 78 契約ネゴシエーション機 能 ............................................................................................................................................. 86 長時間実行スレッド診断 .................................................................................................................................... 88 ログの表示 ......................................................................................................................................................................... 89 タイムアウト処理の設定 ................................................................................................................................................. 91 連携 ............................................................................................................................ Error! Bookmark not defined. SALESFORCE1 連携 ......................................................................................................................................... 93 CPQ CLOUD と EBUSINESS SUITE (EBS)BOM参照の連携.................................................................. 95 PROCESS CLOUD SERVICE (PCS)連携 ................................................................................................... 97 承認処理の概要 ................................................................................................................................................................. 98 承認シークエンスの選択 ................................................................................................................................................. 99 リモート承認プロセスの関数........................................................................................................................................... 99 REST API ............................................................................................................................................................ 101 契約ネゴシエーションのREST API .............................................................................................................................. 103 サブスクリプション・オーダーの REST API .............................................................................................................. 104 クエリ・パラメータ展開 ............................................................................................................................................... 115 PLATFORM AS A SERVICE(PAAS)連携のサンプル・アプリケーション ......................................... 118 XLS TO CSV CONVERTER のサンプル・アプリケーション ............................................................................... 118 見積統計のサンプル・アプリケーション .................................................................................................................... 118 アップグレード前の考慮事項 ............................................................................................................................... 120 既知の機能 ....................................................................................................................................................................... 120 解決済の既知の問題 ....................................................................................................................................................... 121 翻訳ステータス ............................................................................................................................................................... 121 アップグレード後の考慮事項 ............................................................................................................................... 122 ブラウザ・サポート ....................................................................................................................................................... 122 SALESFORCE MANAGED PACKAGE のサポート..................................................................................................... 124 トレーニング ................................................................................................................................................................... 124 追加情報 ........................................................................................................................................................................... 124 3 変更履歴 このドキュメントは、既存のセクションの変更および新しい情報の追加により、更新され続けます。すべての更新を 次の表に示します。 最新の更新情報が先頭に記載されています。 日付 2016/8/24 変更内容 ノート 初版リリース 4 概要 このガイドでは、Oracle Configure, Price, and Quote (CPQ) Cloud CPQ Cloud 2016 リリース1(2016 R1) の新機能または改善された機能に関する情報について解説します。各セクションには、機能の簡単な説明、機 能の有効化や機能の使用を開始するために必要な手順、注意が必要なヒントまたは考慮事項、そして参照にご 利用いただける有益なリソース情報が記載されています。 フィードバックはこちら コンテンツの改善に向けたお客様のご意見やご提案をお待ちしております。 [email protected].までお客様のご意見をお送りください。 5 リリース機能の要約 CPQ Cloud 2016 リリース1の新機能の一部は、アップグレード後にユーザーに自動的に表示されます。 一部の 機能では、ユーザー、会社の管理者またはOracle社による処理が必要です。 次の表では、リリースの各機能を有効にするために必要な処理が簡単に記載してあります。 機能の有効化に必要な処理 機能 自動 管理者 Oracle SR 最高峰のエンタープライズ対応 部品構成表(BOM)マッピング サブスクリプション・オーダー 契約ネゴシエーション データテーブルのセキュア列 容易な管理 構成における単一選択ピックリスト UIデザイナ パフォーマンス・ログ・ページ BML 拡張 ドキュメントデザイナの新機能 長時間実行スレッド診断 連携 Salesforce1 連携 CPQ Cloud と EBS BOM参照連携 PCS連携 Rest API PaaS連携のサンプル・アプリケーション アップグレードの考慮事項 アップグレード前の考慮事項 アップグレード後の考慮事項 6 最高峰のエンタープライズ対応 Oracle CPQ Cloud は、企業の“商談~見積~オーダー”における製品選択、構成、価格設定、見積、受注、および 承認ワークフローなどの、プロセス全体の効率化を実現します。 CPQ Cloudは、直接、間接およびEコマース販売 全体において、製品やサービスを販売するあらゆる規模の企業にとっての理想となる、柔軟でスケーラブルな エンタープライズ対応のCPQ Cloudソリューションを提供します。 Oracle社はCPQ Cloud の機能をアップグレードし続け、多様な規制とコンプライアンスのパラダイムへの準拠を必 要とするお客様の需要を満たします。 卓越したエンタープライズ対応を強化する新機能は次の通りです。 • 部品構成表(BOM)マッピング • サブスクリプション・オーダー • 契約ネゴシエーション • データテーブルのセキュア列 部品構成表(BOM)マッピング 管理者はCPQ Cloud 2016 R1に搭載されている 「BOMマッピング」機能を利用することで、 CPQの設定、コマー ス・トランザクション、およびオーダーのダウンストリーム連携に使用する複数レベルのBOM製品構成を、エンター プライズ・リソース・プランニング(ERP)システムにインポートできるようになります。 このデータドリブン・ソリューシ ョンは、新規BOMテーブルと新規「BOMマッピング」ルール・タイプを使用して、BOM構成とERPシステムの連携の 設定や保守にかかる時間を大幅に削減します。 「BOMマッピング」機能の特徴: CPQ データテーブルで定義済のBOM品目をキャプチャします。既存の「データテーブル」移行またはア ップロードを使用して、履行システムからBOM品目の定義をインポートしてください。 コンフィグレーション属性のマッピングによってBOM品目を決定します。 簡単な「表ベースのルール」、 詳細な「BMLベースのルール」、またはその両方を使用して「BOMマッピング」を実行します。 「BOMマッピング」ルールを使用して「構成」の選択内容からトランザクション明細を作成し再構成します 。 ダウンストリームのフルフィルメントシステムとの連携のため販売BOMまたは製造BOMを生成します。 注意: 「BOMマッピング」の実装には、CPQの構成と フルフィルメントシステムのBOM連携における拡張ナレッ ジが必要です。 「BOMマッピング」 のセクションには次のトピックスが記載されています。 BOMマッピングの概要- 「BOMマッピング」, 「BOMマッピング」表、階層関係、およびBOM表関係を解説 します。 BOM管理- 新規「BOM管理プラットフォーム」と「BOMマッピング」へ追加された「構成」ルールを検証し ます。 参照情報- 「BOMマッピング」をサポートするためのユースケース、システム属性、BML関数、および「 Webサービス」変更について記載されています。 7 BOMマッピングの概要 フルフィルメントシステムは、販売ユーザーが製品を構成する場合にCPQ Cloudで使用される「構成」属性とは 異なる、複雑な複数レベルの部品体系を含む部品構成表(BOM)を保守することが多々あります。 「BOMマッピ ング」機能は、これらの異なる製品ビューをマッピングするためのデータドリブン・メカニズムを提供します。 図1: 「BOMマッピングの概要」に示されているように、管理者は「BOMマッピング」 を使用することで、フルフィルメ ントシステムBOMを「Oracle CPQ Cloud構成」に関連付けできるようになります。 「BOMマッピング」 は、BOM定 義表のこれらの製品体系をキャプチャします。 管理者は、品目マッピングを実行して「BOM構成」ルールを設定 し、BOM定義を「CPQ Cloud構成」の属性の選択にリンクすることができます。 顧客が見積を生成する場合、CPQユーザーは「BOMマッピング」ルールを使用してBOMインスタンスを作成しま す。 BOMインスタンスは「構成」選択に関連付けられたBOM品目と属性を含む「コマース」トランザクション明細 の階層を表しています。 新規「BOMの取得」機能は「BOMマッピング」ルールを使用して、販売BOMまたは製造 BOMを生成します。 CPQはそれからオーダー履行するため、販売BOMまたは製造BOMをERPシステムに送 信することができます。 図1: 「BOMマッピングの概要」 8 BOMマッピングにおける階層関係 「BOMマッピング」機能の中心コンポーネントは、「BOMマッピング」ルールによる参照用のCPQ Cloudにおける BOM製品体系階層のキャプチャになります。 次の例では、これらの階層的な親子関係の格納方法を示してい ます。 図2の履行BOMツリーには、ルート・部品 LP94777(例:CPQモデル)と4つの親部品(LAPPRO1101、 LAPPRO1109、BP3000、およびEXT1000)が含まれています。 親部品 BP3000には3つの子部品(BP3025、 BP3050、およびBP3075)があり、 EXT1000 には2つの子部品(EXT2000 および EXT3000)があり、さらに4 つの孫部品(EXT2001、EXT2002、EXT3001、およびEXT3002)があります。 「CPQ BOM データテーブル」では、品目変数名、親品目変数名、およびルート品目変数名を格納する列を使用 して、このツリーを説明しています。 LAPPRO1101の親品目およびルート品目はいずれもLP94777になります。 BP3025の親品目はBP3000、ルート品目はLP94777になります。 EXT2001の親品目はEXT2000、ルート品目は同じくLP94777になります。 注意:この繰り返しを続けて親子関係の無制限レベルをサポートすることで、非常に複雑な複数レベルの BOM体系を表現できるようにします。 図2: BOMツリー例 次のセクションでは、これらのBOM階層を「構成」属性に格納しマッピングするために使用される表の概要を説 明します。 9 BOMマッピング表 2016 R1のCPQ Cloudには、「BOMマッピング」ソリューションを完全にサポートする5つの「BOMマッピング」プラ ットフォーム表(BOM品目定義、BOM品目マッピング、BOM属性定義、BOM属性マッピング、およびBOM属性翻 訳)が実装されています。 ほとんどのお客様が、ユースケースを実現するために、これらの表の1つか2つのみを必 要とします。 「BOMマッピング」プラットフォーム表にはBOM体系を「構成」属性値に関連付けするためのスキーマが含まれ ています。 顧客固有のマッピング詳細は、「CPQ Cloudデータテーブル」に格納されています。 これら2セットの 表の組合せによりBMLやその他のロジックを必要とすることなく、ユーザーはフルフィルメントシステムBOM、「 CPQ構成」属性、および「コマース」トランザクション明細に関連付けられるシンプルな「表ベースの構成」ルール を作成することができます。 管理者はCPQ Cloud の標準インポート機能を使用して、BOM体系を「CPQデータテーブル」にアップロードま たは移行することができます。 「データテーブル」は下記の図に示されるように、対応する「BOMマッピング」プラ ットフォーム表にリンクさせることができます。 図3: BOMプラットフォーム表 へのBOMデータテーブルのマッピング CPQ Cloudには、「BOMマッピング」プラットフォーム表に自動的にマッピングされる実装固有の表の作成に 使用することができる、ダウンロード可能な「データテーブル」定義が標準で備わっています。 またお客様は、 「BOMマッピング」プラットフォーム表にその表の列をマッピングすることで、BOM体系の詳細が含まれている 既存の「データテーブル」を再利用することができます。 注意: 管理者は、必要な「BOMマッピング」プラットフォーム表を有効化し、「BOMマッピング」の事前に「 BOMマッピング・データテーブル」を移入してください。 10 BOM品目定義表 「BOM品目定義表」には、再帰的に子品目を親品目にリンクする品目変数の参照とともに、フルフィルメントシステ ムで使用されるBOMの階層関係が格納されています。 階層的な情報に加え、BOM定義表には次のような、その 他の履行BOMからの情報が格納されています。 : フルフィルメントシステムID デフォルト数量 品目:オプション、販売品目、または製造品目のいずれか BOM 品目の有効日 注意:「BOM品目定義」表は「BOMマッピング」のキー・コンポーネントであり、すべてのユースケースに唯一必 要となる表です。 これらの表が使用される場合の例については、BOMマッピングのユースケースを参照してく ださい。 BOM品目マッピング表 「BOM品目マッピング表」は、「構成」属性にBOM品目を関連付けます。 この表をアクティブにすると、簡単な「表ベ ースのBOMマッピング構成」ルールが有効になります。 この表がアクティブではない場合、管理者は拡張「BML ベース・ルール」を使用して、BOM品目と「構成」属性間の関連付けを確立します。 BOM属性定義表 The 「BOM属性定義表」では、フルフィルメントシステムから属性定義と属性の有効日を格納します。 これらの 属性ではカラーやサイズなどのオプションの定義ができます。 BOM品目変数の参照は、フルフィルメントシステ ムの属性を適用可能なBOM品目に関連付けます。 BOM属性マッピング表 「BOM属性マッピング表」は、BOM属性、「構成可能属性」、「コマース」トランザクション明細属性、および数量 値間の関連付けを格納します。 この表を設定すると、BOM属性をCPQ構成およびコマースに関連付けている 簡単な「表ベースのBOMマッピング構成」ルールが有効になります。 BOM属性翻訳表 The 「BOM属性翻訳表」は適用可能な属性翻訳を関連付けます。 BOM属性変数の参照は、フルフィルメントシス テムのトランザクションを適用可能な属性に関連付けます。 次のセクションではBOM表のキー・リレーションシップを示します。 11 BOM表の関係図 「BOMマッピング」は参照として変数名を使用して階層的な関係をキャプチャしています。 「BOMマッピング」はま た変数名を使用して、BOM表間の関係を識別します。 図4のBOM表の関係図はこれらの関係性を示します。 図4: BOM表の関係図 次のセクションでは、「BOMマッピング」をサポートするために加えられた、新規CPQページ、関数、およびルー ルについて説明しています。 BOM管理 CPQ Cloud 2016 R1 には、「BOMマッピング」の実装と保守をサポートするために一部の新規ページが加えら れました。このリリースではまた、「BOMマッピング構成」ルールをサポートするための製品管理用の新しい機能 も装備されています。 12 BOM管理プラットフォーム 管理者は 「BOM 管理プラットフォーム」ページを使用することで、BOM関数およびオブジェクトにアクセスして「 BOMマッピング」の実装を設定し保守することができます。 BOM 表 - 管理者はBOM表にアクセスして、BOM表をアクティブ化しマッピングすることができる「部品 構成表」ページにアクセスできるようになります。 BOM ルート品目リスト - 管理者はルート品目を検査し、再帰的にコンポーネントを選択して、「BOM品 目ツリー」と関連するすべての品目、属性、および属性翻訳の表示ができるようになります。 管 理者はまた、これらのページを使用することでBOM品目ツリーにあるすべてのエラーを特定するこ とができます。 ユーティリティ関数の宣言 - 管理者は「サブスクリプション・オーダー」をサポートするために、「構成保 存」イベント実行中のBMLユーティリティ関数の起動を選択することができます。 「管理」 > 「製品」 > 「BOM」に移動して、「BOMマッピング管理プラットフォーム」fromにアクセスします。 図 5: BOM管理プラットフォーム 部品構成表ページ 「部品構成表」ページを使うことで、「BOMマッピング」プラットフォーム表へのアクセス、マッピング・ステータスの 表示、表のアクティブ化する機能へのアクセスが可能になります。 ここで管理者に求められる作業は、ビジネス の必要性を満たすために必要な「BOMマッピング」プラットフォーム表をアクティブ化しマッピングすることだけで す。 図6: 部品構成表ページ 表の「名前」のリンクをクリックすると、「BOM表定義の編集」 ページに移動することができます。 13 BOM表定義の編集ページ 管理者は「BOM表定義の編集」ページで 、カスタマーBOMデータを移入した「CPQデータテーブル」を CPQプラ ットフォームの「BOMマッピング表」にマッピングすることができます。 各BOM表には、マッピングを有効するため の対応する「BOM表定義の編集」ページがあります。 「データテーブル」列名とデータ・タイプがデフォルト列に合 致する場合、自動的に列はマッピングされます。 そうでない場合、管理者が手動で各列をマッピングする必要が あります。 CPQ Cloudでは、各BOM表に対し必要なスキーマを定義するサンプル表定義が準備されています。 管理者は「ダウンロード・サンプル」リンクからサンプル表を取得することができます。 図 7: BOM品目定義表のBOM表定義の編集ページ BOMルート品目管理リスト・ページ 「BOMマッピング」の導入後、管理者は「BOMルート品目管理リスト」ページを使用して、BOM品目、BOM品目 属性、およびBOM属性翻訳が含まれるBOM品目ツリーを検証することができます。 「BOMルート品目管理リス ト」ページでは、BOMルート品目名、部品番号、および品目IDが表示されます。 BOMツリーでは一番上のレベル にルート品目があり、CPQ Cloudモデルに相当しています。 「管理」 > 「製品」 > 「BOM」 > 「BOMルート品目リスト」に移動して、「BOMルート品目管理リスト」ページに移動 します。 図 8: BOMルート品目リスト・ページ 「変数名」 のリンクをクリックすると、「BOM品目ツリー管理」ページに移動します。 14 BOM品目ツリー管理ページ 「 BOM品目ツリー管理」ページには、BOM品目、子品目、および孫品目の、展開された階層とBOM定義の情報 が表示されています。 マッピング・エラーがある場合、このページではエラー・インジケータが表示されます。 検 証エラーを表示するには、「検証エラーのあるBOM品目ツリー 」を参照してください。 図 9: BOM品目ツリー管理 ページ 「変数名」 のリンクをクリックすると、「BOM品目管理」ページに移動します。 BOM品目管理ページ 「BOM品目管理 」ページでは、選択済のBOM品目の定義についての情報が表示されます。 属性定義がある 場合、関連属性もここで表示されます。 図 10: BOM品目管理ページ 「BOM属性定義表」がアクティブで選択済のBOM品目に属性がある場合、「変数名 」リンクをクリックすると、属 性の詳細を表示する「BOM属性管理」ページへ移動します。 15 BOM属性管理 PAGE 「BOM属性管理 」ページには、選択済のBOM属性の属性値が表示されています。 図 11: BOM属性管理 ページ 「BOM属性翻訳表」がアクティブで選択済BOM属性が属性翻訳されている場合、「属性翻訳」をクリックすると属 性翻訳が表示されます。 BOM属性翻訳管理ページ 「BOM属性翻訳管理」ページには、言語、翻訳済の属性名、および表示値が表示されています。 図 12: BOM属性翻訳 管理ページ 次のセクションでは、BOM品名の検証エラーについての情報が示されています。 管理者はエラー・インジケータ を使用して、BOM定義エラーを特定することができます。 16 検証エラーのあるBOM品目ツリー 「BOM品目ツリー」に検証エラーが生じた場合、「BOM品目ツリー管理 」のページ上部にエラー・メッセージが表 示されます。 エラーのある品目(BOM品目、その子品目、または孫品目)には、エラーを示すエラー・インジケー タ( )が表示されます。 管理者はBOM品目定義の降順の要素を検証して、エラーの詳細を確認することが できます。 図 13: 検証エラーのあるBOM品目ツリー 注意: エラーは「BOMマッピング構成」ルールの設定前に解決する必要があります。 ユーティリティ関数の宣言 管理者が「サブスクリプション・オーダー」で「BOMマッピング」を活用するには、「構成保存」イベント実行中のBML ユーティリティ関数の起動を選択します。 推奨されたユーティリティ関数は、予想資産と「構成」を比較して、結果 を「コマース」トランザクション明細に保存します。 この詳細については、「資産ベースのオーダー実装ガイド」を参 照してください。 図 14: BMLユーティリティ関数の宣言 17 BOMマッピング・ルール 管理者はモデル・レベルで「BOMマッピング構成」ルールを作成します。 「BOMマッピング」ルールはBOM品目 に「構成可能属性」を関連付けます。 「BOMマッピング」に対して、簡単な「表ベースのルール」、詳細な「BML ベースのルール」、またはその両方を使用します。 新しい「BOMマッピング」ルール・タイプは、「モデル管理リス ト」ページにある「ナビゲーション」のドロップ・ダウンから選択することができます。 図 15: 「モデル管理」 および 「BOMマッピング」 「ナビゲーション」 で 「BOMマッピング」 を選択すると、「BOMマッピング: ルール・リスト」ページが表示されます。 このページでは「BOMマッピング」ルールの「作動順序」、「名前」、および「ステータス」 が表示されています。 管 理者は、「BOMマッピング」ルールの翻訳と同様に、それらの追加と管理ができます。 図 16: 「BOMマッピング: ルール・リスト」 「モデル」の「変数名」のリンクを選択すると、関連付けられた「BOMマッピング・ルール」ページが開きます。 18 このページには、ルールの「名前」、「変数名」、「ステータス」、有効日、「条件タイプ」、「ルール・タイプ」、「ターゲ ットBOM」および「ターゲット・コマース・プロセス」が表示されます。 「単純(表ベース) のBOMマッピング」ルールでは、BOM品目に「構成可能属性」を宣言的に関連付けるために 「 BOMマッピング」表が使用されます。 「BOMマッピング」は「ターゲットBOM」処理を必要とします。 いずれかの「 ルート品目」を「ターゲットBOM」として選択し、「構成」の選択内容に基づいて作成します。 複数の実装がある 場合は、「ターゲット・コマース・プロセス」を指定します。 図 17: 「BOMマッピング」ルールのページ 参照情報 このセクションでは「BOMマッピング」のユースケース、システム属性、BML関数、およびWebサービスの更新が 用意されています。 19 BOMマッピングのユースケース 「BOMマッピング」機能の汎用性により、管理者は数多くのオプションから実装のための選択をすることができま す。 管理者は、実装の要件のサポートに必要なこれらの「BOMマッピング」表のみアクティブ化しマッピングしてく ださい。 以下の表では、「BOMマッピング」機能を活用するためのいくつかのアプローチがまとめられています。 使用例 使用方法の概要 アクティブ表 基本BOM 連携 複雑なBOM体系と処理フィールドをキャプチャします。 詳細な「BMLベースのルール」のみを使用して、BOM 品目と「構成可能属性」 間の関係を特定します。 BOM品目定義 BOM マ ッ ピ ン グ連携 BOM品目属性を使用しないOracle EBSのようなフルフィ ルメントシステムと連携します。「単純(表ベース)のルー ル」を使用してBOM品目の関連付けを特定します。 .オ プションの詳細なBMLベース・ルールで、さらに「構成可 能属性」の絞り込みができます。 BOM品目定義 文字列変数に 追加の属性が ある BOMマッピ ング 「BOMマッピング」連携の他に、このユースケースは BOM品目明細にBOM属性を追加します。 簡単な「表ベ ースのルール」を使用してBOM品目の関連付けを特定 し、詳細なBMLベース・ルールを使用してBOM属性を特 定します。 BOM品目定義 トランザクション明 細を設定する属性 を使用するBOMマ ッピング このシナリオではBOM属性マッピング使用して「コマー ス」明細属性値を設定し、BOM属性定義表は使用され ません。簡単な「表ベースのルール」を使用してBOM 品目の関連付けを特定します。 オプションの詳細なBMLベース・ルールで、さらに構成可 能属性の絞り込みができます。 BOM品目定義 属性翻訳のないフ ル・サービスの BOMマッピング BOM品目属性をサポートするSiebelのようなフルフィル メントシステムと連携します。 簡単な「表ベースのルー ル」を使用してBOM品目および属性を特定します。 オプ ションの詳細なBMLベース・ルールで、さらに構成可能 属性の絞り込みができます。 BOM品目定義 BOM品目 BOM品目属性を翻訳でサポートするフルフィルメントシ ステムと連携します。簡単な「表ベースのルール」を使 用して、BOM品目、属性および属性翻訳の関連付けを 特定します。 オプションの詳細なBMLベース・ルールで 、さらに構成可能属性の絞り込みができます。 BOM品目定義 フル・サービス の BOM マ ッ ピ ング BOM品目マッピング BOM品目マッピング BOM属性定義 BOM品目マッピング BOM属性マッピング マッピング BOM属性定義 BOM属性マッピング BOM品目マッピング BOM属性定義 BOM属性マッピング BOM属性翻訳 20 BOMマッピングのシステム属性 一部の新しいシステム属性は「BOMマッピング」機能をサポートしています。 管理者はこれらの属性を使用して、 「コマース・トランザクション明細品目グリッド」のユーザー・インターフェースでBOM階層や階層関係を表示するこ とができます。 「BOMマッピング」と「サブスクリプション・オーダー」でのこれらの属性とそれらのロールについて の詳細は、「BOMマッピング実装ガイド」および「資産ベースのオーダーの実装ガイド」を参照してください。 名前 変数名 明細品目 BOM ID _line_bom_id テキスト BOM品目インスタンスID 明細品目 BOM ID _line_bom_parent_id テキスト 親BOM品目インスタンスID 明細BOM部品 番号 _line_bom_part_number テキスト BOM品目の部品番号。 モデル明 細にのみ適用可能。 明細品目 BOM 属性 _line_bom_attributes テキスト JSON文字列として格納された BOM属性。 明細BOM 品目数量 _line_bom_item_quantity 整数 BOM品目明細数量。これは非展開 明細数量ですが、_price_quantityに は展開数量が保存されます。 整数 見積のBOM品目の深さ(レベル)。ル ートBOM品目に対する値は0です。 明細BOMレベル _line_bom_level 明細BOM 有効日 _line_bom_effective_date タイプ 日付 概要 BOM有効日。 無効の場合は現在の 時刻になります。 21 BOMマッピングのBML関数 CPQ Cloud リリース2016 R1では、「BOMマッピング」機能をサポートする次のBML関数:getbom、savebom、 convertbomtoflat、および convertbomtohier が加えられました。 BOMを取得する関数 getbom 概要 フルフィルメントシステムの連携に対し、getbom関数は保存された販売 BOMまたは製造 BOMを見積から取得し、オーダーを処理するフルフィルメントシステムに送信します。 「サブスクリプション・オーダー」に対し、getbom関数は保存された販売BOMをオープン ・オーダーから取得します。 パラメータ bsId 整数 このパラメータを使用して、「コマース・トランザ クションID」を 指定します。 lineNumber 整数 このパラメータを使用して、モデル明細のドキュメン ト番号を指定します。 明細番号は見積のルート BOM明細にも相当します。 lineFields 文字列 このパラメータを使用して、見積明細からフェッ チされ返されたBOMインスタンスに格納された 追加の明細属性を特定します。 オプションのデフォルト値がない場合は 無効になります。 validateBomModel ブール このパラメータを使用して最新のBOM品目定義に対 して返されたBOMを検証します。検証は次の通りで す。 BOM品目定義に対しインスタンス・ツリー(部 品と階層)を検証します。 BOM品目変数名を移入します。 最新の定義に従い、BOMインスタンス階層を改 訂します。 最新の定義に存在していない品目を除外します。 オプションのデフォルト値がない場合は trueになります。 flattenChildItems ブール このパラメータを使用して子品目をフラット化し、 ルートBOM品目の直接の子としてすべての子 孫BOM品目を返します。 オプションのデフォルト値がない場合は falseになります。 isSalesBom ブール このパラメータがtrueの場合は販売BOMを返し、 falseの場合は製造BOMを返します。 22 getbom オプションのデフォルト値がない場合はtrueになりま す。 構文 Json getbom(Integer bsId, Integer lineNumber [, String[] lineFields [, Boolean validateBomModel [, Boolean flattenChildItems [, Boolean isSalesBom]]]]) 入力サンプル bsId 18430319 lineNumber 2 戻り値サンプル { "partNumber": "part49", "quantity": 10, "id": "BOM_root", "parentId": "", "attributes": {}, "fields": { "_line_bom_level": "0" }, "explodedQuantity": 10, "category": "sales", "variableName": "root", "definition": { "SequenceNum": 814, "ItemId": "814", "ItemType": "Standard Item", "Optional": "Y" }, "children": [ { "partNumber": "part50", "quantity": 5, "id": "BOM_text_bom", "parentId": "BOM_root", "attributes": {}, "fields": { "_line_bom_level": "1" }, "explodedQuantity": 50, "variableName": "text_bom", "definition": { "SequenceNum": 815, "ItemId": "815", "ItemType": "Standard Item", "Optional": "Y" } } ] } 23 BOMを保存する関数 savebom 概要 savebom 関数は「構成」属性のないBOMを見積に保存し、保存された見積のドキュメント 番号を返します。またsavebom関数は「サブスクリプション・オーダー」に対し、廃止された 資産を見積に保存します。 変更処理とsavebom関数は同じ見積を更新するために競合することから、見積の変 更処理ではこの関数を起動しないでください。保存されたBOMインスタンスに対しては 再構成を使用してください。 パラメータ bsID 整数 このパラメータを使用して、「コマース・トランザクションID」を指定しま す。 bomJson JSON このパラメータを使用してBOMインスタンスの JSONデータを保持しま す。 構文 Integer savebom(Integer bsId, Json bomJson) 入力サンプル bsId 18430319 bomJson { "partNumber": "part49", "id": "BOM_root", "quantity": 10, "parentId": "", "attributes": {}, "fields": {"_line_bom_level": "0"}, "explodedQuantity": 10, "category": "sales", "variableName": "root", "definition": { "SequenceNum": 814, "ItemId": "814", "ItemType": "Standard Item", "Optional": "Y" }, "children":[{ "partNumber": "part50", "quantity": 5, "id": "BOM_text_bom", "parentId": "BOM_root", "attributes": {}, "fields": {"_line_bom_level": "1"}, "explodedQuantity": 50, "variableName": "text_bom", "definition": { "SequenceNum": 815, "ItemId": "815", "ItemType": "Standard Item", "Optional": "Y" } }] } 戻り値サンプル 5 24 階層BOMをフラット化されたBOMに変換する関数 convertbomtoflat 概要 convertbomtoflat 関数は、 階層BOMをフラット化されたBOMに変換します。 フラットな BOMは子や孫などのすべての子孫を直接の子として格納します。 フラット化されたBOMの処理は容易になります。 パラメータ bomJson 構文 Json convertbomtoflat(Json bomJson) 入力サンプル bomJson JSON このパラメータを使用して、JSONターゲットを保持します。 {"partNumber":"part1", "quantity":1, "id":"Bom1", "parentId":"", "children":[ {"partNumber":"part2", "quantity":2,"id":"Bom2", "parentId":"","children":[ {"partNumber":"part4", "quantity":4, "id":"Bom4", "parentId":"" }, {"partNumber":"part5", "quantity":5, "id":"Bom5", "parentId":"" } ] }, {"partNumber":"part3", "quantity":3, "id":"Bom3", "parentId":"" } ] } 戻り値サンプル {"partNumber":"part1","quantity":1,"id":"Bom1","parentId":"", "children":[ {"partNumber":"part2","quantity":2,"id":"Bom2","parentId":"Bom1"}, {"partNumber":"part3","quantity":3,"id":"Bom3","parentId":"Bom1"}, {"partNumber":"part4","quantity":4,"id":"Bom4","parentId":"Bom2"}, {"partNumber":"part5","quantity":5,"id":"Bom5","parentId":"Bom2"} ] } 25 フラット化されたBOMを階層BOMに変換する関数 convertbomtohier 概要 convertbomtohier関数は、フラット化されたBOMを階層BOMに変換します。 場合により管理 者は処理を簡易化するために階層BOMをフラット化します( この関数は処理済のフラット化 BOMを階層BOMに戻します)。 パラメータ bomJson 構文 Json convertbomtohier(Json bomJson) 入力サン プル bomJson JSONデータ・タイ プ このパラメータを使用してJSON ターゲットを保持します。 {"partNumber":"part1","quantity":1,"id":"Bom1","parentId":"", "children":[ {"partNumber":"part2","quantity":2,"id":"Bom2","parentId":"Bom1"}, {"partNumber":"part3","quantity":3,"id":"Bom3","parentId":"Bom1"}, {"partNumber":"part4","quantity":4,"id":"Bom4","parentId":"Bom2"}, {"partNumber":"part5","quantity":5,"id":"Bom5","parentId":"Bom2"} ] } 戻り値サン プル {"partNumber":"part1","quantity":1,"id":"Bom1","parentId":"", "children":[ {"partNumber":"part2","quantity":2,"id":"Bom2","parentId":"" , "children":[ {"partNumber":"part4","quantity":4,"id":"Bom4","parentId":""}, {"partNumber":"part5","quantity":5,"id":"Bom5","parentId":""} ] }, {"partNumber":"part3","quantity":3,"id":"Bom3","parentId":""} 26 BOMマッピングをサポートする構成Webサービス このリリースでは、構成Webサービス(v1 およびv2)に対し、オプションでbomprice要素を導入します。 レスポ ンスには、BOM価格が無料でない場合は「BOMマッピング」を使用しているサイトのBOM価格が含まれます。 レスポンス例: <bm:price> <bm:bomPrice>$16.0000</bm:bomPrice> <bm:totalPrice>$45.0000</bm:totalPrice> </bm:price> The web service WSDL, upon regeneration, includes the newly introduced "bomPrice" optional element: <xsd:complexType name="ConfigurationPriceType"> <xsd:sequence> ... <xsd:element maxOccurs="1" minOccurs="0" name="bomPrice" nillable="true" type="xsd:string"/> <xsd:element maxOccurs="1" minOccurs="1" name="totalPrice" nillable="false" type="xsd:string"/> </xsd:sequence> </xsd:complexType> 有効化の手順 「BOMマッピング」はすべての 2016 R1サイトで使用することが可能です。 詳細な手順については、「My Oracle Support,」でご覧いただける「BOM実装ガイド」を参照してください。 次の項目では、アクティビティ設定について説明します。 1. 「CPQデータテーブル」でBOM品目定義をキャプチャします。 2. ビジネス要件ごとにBOM表をアクティブ化します。 3. 「BOMデータテーブル」をBOMプラットフォーム・表にマッピングします。 4. 設定中に発生する検証エラーを解決します。 5. BOM品目および属性を「CPQ構成およびコマース」に関連付けするために、「構成」ルールを構築 します。 27 ヒントと考慮事項 管理者は「データテーブルインポート」または「一括アップロード」を使用して、「BOMデータテー ブル」をインポートすることができます。 「お気に入り」機能および「ショッピング・カート」機能は「BOMマッピング」をサポートしていませ ん。 注意: 「BOMマッピング」は「CPQ構成」 と連携して、BOM品目およびBOM属性を用いてマージします。 そのため「CPQ構成」の設定は、「BOMマッピングの実装」に先だって実行する必要があります。 注意: このドキュメントでは、Oracle eBusiness Suite (EBS)との統合のような、フルフィルメントシステムとの 統合について取り上げられていません。 実装手順については、「CPQ および EBS間の統合実装ガイド」を参 照してください。 主なリソース 追加情報については、次のリソースを参照してください。: BOM Mapping Inplementation Guide: 2016 R1で使用することができる「BOMマッピング」機能の 実装方法についての詳細が記載されています。 CPQ Cloud オンライン・ヘルプ: 「BOMマッピング」トピックスを参照してください。 CPQ-EBS Integration Inprementation Guide: CPQ Cloud と Oracle eBusiness Suite (EBS)を連 携する情報についての詳細が記載されています。 28 サブスクリプション・オーダー 企業の多くは、有形資産の売却や一定期間にわたりサービスが提供されるサブスクリプションの販売に、いわゆる 資産ベースのオーダーとして知られる「サブスクリプション・オーダー」を使用しています。 CPQ Cloud 2016 R1 の「サブスクリプション・オーダー」機能は、サブスクリプションおよび資産ベースの製品をサポートしています。 資 産としての履行済明細を記録し、お客様に堅牢なサブスクリプション管理ツールを提供することで、将来の日付 の変更と後続オーダーの生成に対処します。 管理者は次の機能を使用して、サブスクリプションまたは資産ベースの製品の表示、変更および更新を販売ユ ーザーに提供することができます。 これらの機能を同時に使用した場合、CPQ Cloud 2016 R1の「サブスクリプ ション・オーダー」ソリューションを正常に実装するのに必要な機能とガイダンスを提供します。 BOM マッピング・ルール: 「BOMマッピング・ルール」を設定して「サブスクリプション・オーダー 」を有効にすることで、部品構成表と「CPQ構成」属性を関連付けます。 REST API: REST APIを使用して資産の作成、問合せ、または変更を実行します。 詳細について は、このドキュメントにある 「REST API」のセクションを参照してください。 顧客資産ページ: 受注依頼日に基づき資産を表示、検索、管理します。 ローカル資産レポジトリ: CPQ Cloud のローカル・レポジトリに示唆情報を格納します。 . 資産ベースのオーダー・パッケージと実装ガイド: 参考資料として「資産ベースのオーダー(ABO) パッケージ」と「資産ベースのオーダーの実装ガイド」で説明されている手順を使用し、完全なサブ スクリプション管理ソリューションを実装してください。 資産 「サブスクリプション・オーダー」を実装することで、 CPQ Cloudではサブスクリプション製品の履行のオーダーの 作成と送信ができます。 これらの製品が履行されると、フルフィルメントシステムで「CPQ資産API」を起動して CPQ資産レポジトリに資産を作成することができます。 資産はいったん作成されると、新規「顧客資産」ページ で販売ユーザーによって表示されることが可能になります。 販売ユーザーはまた、後続の「コマース」トランザク ション・オーダーを配置することで資産を変更または終了することによって、資産やサービスを変更または終了す ることができます。 「CPQ Cloud 資産ベースのオーダー実行ガイド」の記載のとおり、「資産ベースのオーダー・パッケージ」を 移行、または手動で追加して、「サブスクリプション・オーダー」の属性、関数、およびその他の要素を、ご利 用の「コマース・プロセス」に追加します。 インスタンスID: 資産作成中に生成される、ユニバーサル資産のインスタンス識別子が備えられて います。 インスタンス名: 携帯電話番号のような、ユーザーにわかりやすい資産名または資産識別子が表 示されます。 処理: トランザクション明細の資産に対して実行される処理を識別します。 処理オプションには「追 加」、「削除」、「更新」、「終了」、および「– (変更なし)」が用意されています。 変更が加えられたこ とを確認するために、処理コードを販売ユーザーに表示することができます。 29 要求日: トランザクション明細に対し、要求日が備えられています。 お客様は将来の日付を入力する ことができます。 要求日が提供されない場合は、現在の日付になります。 履行ステータス: トランザクション明細に対し、履行ステータスを特定します。 ステータス・オプションに は「作成済」、「実行中」、「履行済」、および「キャンセル済」が用意されています。 属性要約: 資産の作成および更新中の現在のトランザクション明細に対し、BOM属性の名前と値の ペアを格納します。 注意: 「資産ベースのオーダー」パッケージには、「サブスクリプション・オーダー」の実装に必要な属性が含ま れています。 管理者は、「コマースUIレイアウト」への属性の追加について担当します。 顧客資産ページ 「顧客資産」ページは、トランザクションの「顧客アカウントID」に関連付けられた資産を販売ユーザーに表示す る、新しく事前定義されたページです。 「顧客資産」ページは、購入済、変更済、および終了済の資産を表示し て、資産の検索、フィルタ、およびソートができる機能を備えています。 また、CPQ Cloud 2016 R1で導入され た新しい「UIデザイナ」機能は「顧客資産」ページのカスタマイズに使用することができます。 「顧客資産」ページへアクセスするには、見積を開き、顧客を選択し、「顧客資産」をクリックします。 図 18: 顧客資産ページ 注意: 「顧客資産」ページは、現在のオーダーに関連付けられた要求日に基づいたアクティブな資産を表示し ます。 このページでは、後の日付で開始するようスケジュールされた資産は表示されません。 例: 顧客が8月1日に、 ケーブル・サービスにスポーツ番組を追加すると仮定します。 この場合、将来の日付 である8月1日の要求日で「資産1」が作成されます。 顧客はさらに次の日を呼び出し、7月1日のケーブル・サ ービスにオーダー2である料理番組を追加します。 「顧客資産」ページでは、7月1日を要求日とする2番目のオ ーダーは「資産1」に表示されません。 「顧客資産」ページには、要求日として8月1日またはそれ以降のオーダ ーのある「資産1」のみが表示されます。 30 資産の作成 「ABOパッケージ」に備えられている「資産の更新」処理は、資産の作成と変更をサポートします。 資産の作成 は、ご利用のフルフィルメントシステムと連携された追跡可能な品目を生成します。 資産の作成後、お客様はト ランザクションを介してサブスクリプション・サービスの表示と保守ができます。 例えば、「営業担当」が「コマース」を使用して関連製品をトランザクションに追加する場合、トランザクション明細 には「作成済」のステータスが表示されます。 トランザクションがオーダーとしてフルフィルメントシステムに送信 されると、トランザクションのステータスは、“作成済” から “実行中”に変更されます。 オーダーがバック・エンド ・システムで履行されると、フルフィルメントシステムは連携フローでCPQ Cloudに通知します。 トランザクショ ン明細のステータスは、その後「実行中」から「履行済」に変更され、CPQローカル資産レポジトリに資産が記録 されます。 図19: 資産作成のサンプル・オーダー 資産変更 お客様はオプションの将来の日付を「資産変更」で変更して、履行済の資産を変更することができます。 資産を変更するには、次の手順を実行してください。 トランザクションを作成し、変更する要求日を選択します。 1. 「顧客資産」ページに移動します。 「CPQコマース・トランザクションUI」を開きます。 「顧客資産」をクリックします。 2. 適切な資産を選択し、「変更」をクリックします。 「構成」ページが表示されます。 3. 適切な改訂を加え、現在のトランザクションを更新します。 「顧客資産」ページでは、次の資産変更オプションを使用することができます。: 開始日が将来の日付の要求を除き、予想資産に新規コンポーネントを「追加」します。 資産からコンポーネントを「削除」します。 BOM属性の変更のような処理を通して資産コンポーネントを「更新」します。 注意: 更新のない明細についてはハイフン(-)が表示されます。 31 再構成 「再構成」処理を使用して、履行前に見積を更新します。 「再構成」は予想資産を再構成オーダー明細と比較し、 ユーザーの計画するサブスクリプションまたは資産においての最終変更に反映させます。 再構成の要求日以前に発生する保留中の更新オーダー明細が、比較に含まれています。 保留中のオーダー 明細には、次のいずれかの条件があります。 品目が別のオーダーで“実行中”の場合 品目が現在のオーダーで“実行中”または“作成済”の場合 後続オーダー 「後続オーダー」は実行されていない既存のオーダーへの変更です。 後続オーダーが作成されると、「サブスク リプション・オーダー」が自動的に、要求日の資産の予期された状態と新規構成間の違いに基づく各トランザクシ ョン明細の処理コードを作成します。 資産終了 「顧客資産」ページで「終了」処理を使用して、サブスクリプションを終了します。 例えば、顧客がケーブルテレビ のサブスクリプションを終了すると仮定します。「販売担当」は顧客の「コマース」トランザクションを作成し、終了の 要求日を指定することができます。 CPQ Cloud で「顧客資産」ページが表示されたら、セールス・ユーザーは終 了する資産を選択し、 「終了」アクションをクリックすると、サブスクリプションを終了するための適切な処理コード をともなうトランザクションが「コマース」に表示されます。 「終了」処理が完了すると、資産の終了日は顧客が要 求したサブスクリプション終了日になります。 有効化の手順 この機能の実装方法の詳細な手順については、「資産ベースのオーダー の実装ガイド」を参照してください。 主なリソース 追加情報については、次のリソースを参照してください。: BOM Mapping Implementation Guide: 2016 R1で使用できる「BOMマッピング」機能の実装 方法についての詳細な情報が記載されています。 CPQ Cloud オンライン・ヘルプ: 「サブスクリプション・オーダー」 および 「BOMマッピング」のト ピックスを参照してください。 ABO Implementation Guide: 「サブスクリプション・オーダー」の使用方法と実装方法について の追加情報が記載されています。 「資産ベースのオーダー・パッケージ」 32 契約ネゴシエーション CPQ Cloud 2016 R1で使用することができる「契約ネゴシエーション」機能は、Microsoft Word の変更履歴機 能とCPQ Cloudのドキュメント処理を連携することにより、顧客との契約のネゴシエーションをサポートします。 CPQ ドキュメントデザイナと新規RESTサービスの機能強化により、契約を比較しマージする機能、契約の2つ のバージョンの差分をハイライトする機能、そして顧客や法務等の社内組織によって加えられた特定の変更を承 認または却下する機能が備えられました。 管理者はこれらの機能を活用することで、高度なカスタマイズができる「契約ネゴシエーション」ソリューションを実 装することができます。 以下は2016 R1 の「契約ネゴシエーション」機能の概要です。 「単一言語のドキュメントデザイナ」テンプレートを使用して契約を作成します。 顧客または社内レビュアによって変更された契約のバージョンをキャプチャします。 DOCX Compare REST API を使用して、同じ「ドキュメントデザイナ」テンプレートから作成され たドキュメントの差分リストを生成します。 ドキュメント・バージョンの差分リストをフィルタリングし、DOCX Merge REST API を使用して承 認済の変更を新規ドュメント・バージョンにマージします。 注意: 2016 R1では、管理者はMicrosoft Word を使用して「.DOCX」出力ファイルの変更をトラッキングし、 顧客がドキュメントの電子署名と承認ができるように「DocuSign」と統合することができます。 追加の情報に ついては、このドキュメントに記載されている「ドキュメントデザイナの新機能」を参照してください。 契約ネゴシエーションの有効化 CPQ Cloud 2016 R1では、デフォルトの「契約ネゴシエーション」機能は無効になっています。 機能が有効化さ れると、既存のテンプレートの「ドキュメント・プロパティ」ペインだけでなく、新規の「ドキュメントデザイナ」テンプレ ートの作成時にも「契約」チェックボックスが使用できるようになります。 「契約ネゴシエーション」の有効にするには、次の手順を実行してください。 1. 「管理」をクリックして「管理ホーム」ページへ移動します。 2. 「一般」セクションの「一般サイト・オプション」をクリックします。 「オプション ‐ 一般」ページが表示されます。 3. 「ドキュメントデザイナ」オプションにある「契約生成の有効化」を「Yes」に設定します。 33 単一言語テンプレートからの契約作成 契約テンプレートとして使用するために単一言語の「ドキュメントデザイナ」テンプレートを選択することで、2016 R1 「契約ネゴシエーション」機能の使用を開始します。 次の手順を実行してください。 1. 「ドキュメントデザイナ」へ移動します。 「管理」をクリックして「管理ホーム」ページへ移動します。 「コマースおよび文書」セクションで「ドキュメントデザイナ」をクリックします。 2. .「ドキュメントデザイナ・テンプレート」ページから、契約テンプレートとして使用する単一言語の「ドキ ュメントデザイナ」テンプレートを選択します。 3. 「ドキュメント・プロパティ」ペインから「契約」チェックボックスを選択します。 スペーサ要素、ページ要素、列区切り要素を除き、すべての「ドキュメントデザイナ」要素は条項として 「.DOCX」出力ファイルで識別されています。 注意: 各要素に関連付けられた名前は、後にドキュメント・バージョン間の差分を識別するために使用される条 項名になります。 契約のキャプチャ・バージョン 管理者は「CPQ Commerce」の添付ファイル属性を定義して、それらの特定のワークフローをサポートに必要な契 約の各バージョンをキャプチャすることができます。 管理者はこれらの属性を処理にリンクし、契約のバージョンを 比較しマージして、「CPQ Cloud Commerce」のワークフローでこれらの処理を販売ユーザーに公開することがで きます。 ドキュメント・バージョン間の差分リストの生成 ドキュメント・バージョン間の差分リストを作成する機能は、「 DOCX Compare REST API」によってサポートさ れています。 「The API」はヘッダー、フッターおよび見出しスタイルを除くすべての要素の差異を識別します。 例: 「営業担当」が顧客に契約を送信した場合、顧客は契約を確認し、契約の承認または契約へ変更を追加す ることができます。 顧客が契約へ変更を追加し、変更された契約を「営業担当」に返送すると、「DOCX Compare REST API」が元の契約と変更された契約の条項タグを比較します。 「DOCX Compare REST API」 はこの比較時に、条項タグ内で更新されたコンテンツと条項タグ内で削除されたコンテンツを識別して、差分リス トを返します。 注意: 「DOCX Compare REST API」では、異なる単一言語「ドキュメントデザイナ」テンプレートから作成され た2つの「.DOCX」ファイル間の差分リストの生成はサポートされていません。 「REST API」についての詳細 は、このドキュメントの「REST API 」セクションを参照してください。 34 承認済変更のマージ 承認済変更を「.DOCX」契約文書にマージする機能は、「DOCX Merge REST API」でサポートされています。 例: 「営業担当」が顧客によって変更された契約をCPQ Cloud にアップロードした場合、「営業担当」は編集済 契約を表示し、顧客によって加えられた変更を承認または却下し、それから承認済変更を確定済契約にマージし 適用することができます。 「DOCX Merge REST API」は、承認済変更をターゲット文書にマージすることで、こ のアクティビティをサポートします。 注意:「DOCX Merge REST API」についての詳細は、このドキュメントの「REST API 」セクションを参照してくだ さい。 ヒントと考慮事項 新しい「契約ネゴシエーション」機能を使用する際は、次のヒントを検討してください。 本番環境で「契約ネゴシエーション」機能を有効化する前に、標準のワークフローの契約に加えられ た変更のタイプがテスト環境または開発環境で正常に処理されるかを確認してください。 契約のネ ゴシエーション・プロセスを改善し、要件への対処を保証するため、契約「ドキュメントデザイナ」テ ンプレートへの変更が必要な場合があります。 複数言語の「ドキュメントデザイナ」テンプレートは契約テンプレートとしてサポートされていません。 「文書でデザイナ」の「ドキュメント・プロパティ」ペインにある「契約」チェックボックスは、単一言語テ ンプレートにのみ適用することができます。 条項名は、ユーザーの「.DOCX」出力ファイルのプレビュー時またはプリント時に、表示されない非 表示タグとなります。 「.DOCX」出力ファイルのプレビュー時またはプリント時に条項名を表示する には、Microsoft Word の「非表示」オプションのチェックボックスをオフにしてください。 文書を比較またはマージする際、背景イメージとヘッダーおよびフッターの変更は考慮されません 。 主なリソース 追加情報については、次のリソースを参照してください。: Contract Negotiation Implementation Guide: カスタマイズされた「契約ネゴシエーション」ソリュー ションを作成するためにリリース2016 R1で使用することができる 、2つの「契約ネゴシエーション API 」の利用方法についての詳細が記載されています。 CPQ Cloud オンライン・ヘルプ: 「ドキュメントデザイナ」および「REST API 」のトピックスについては こちらを参照してください。 35 データテーブルのセキュア列 このOracle CPQ Cloudのリリースでは、新規および既存の両方の「データテーブル」の新しい列に、保護データ・ タイプ・オプションを導入しています。 PaaS アプリケ-ションおよびその他の外部システムへの接続には、機密ク ライアントの資格証明が必要になります。 「データテーブルのセキュア列」は、CPQ Cloud における保護機密資 格証明の格納方法を提供します。 セキュア列は常に「データテーブル」に暗号化形式のデータを格納します。 こ のデータに元の復号化形式でアクセスする唯一の方法は、BMQLを介してのみです。 セキュリティで保護されていない列のコンテンツは、復号化(非暗号化)形式となります。 セキュア列では、コンテ ンツに依存してデータが復号化、マスキング、または暗号化されます。 次の例では、“パスワード”が異なる形 式に対し、どのように表示されるかを表しています。 図20は、「SecureColumn」で復号化されたデータでインポートされたCSVファイルを表しています。 図 20: 復号化データ 図21は、「SecureColumn」でマスキングされたデータで「データテーブル」を表示しています。 図 21: マスキングされたデータ 図22は、「SecureColumn」で暗号化されたデータでエクスポートされたCSVファイルを表示します。 図 22:暗号化データ 36 セキュア列の受信データのフォーマット 次の表は、セキュア列でデータを作成または更新すると予測される受信データ・フォーマットを記載しています。 受信データ・フォーマット 暗号化データ 復号化データ 管理UI表エディタ 管理UI経由インポート *一括アップロード(ノート参照) Webサービス パッケージのアップロード セキュア列の出力データ・フォーマット 次の表では、さまざまなCPQ関数のためのセキュア列データ出力を表しています。 出力データ・フォーマット 管理UI表エディタ マスキング・データ 暗号化データ 管理UI経由エクスポート *一括ダウンロード (ノート参照) WebサービスAPI 取得 WebサービスAPIの追加/更新 パッケージのダウンロード Jython オブジェクト Bmql()フィールド選択 復号化データ * 注意: セキュア列がある「データテーブル」が一括ダウンロードでダウンロードされ、同じコンテンツがその後一 括アップロードでアップロードされた場合、値はダブル・エンコードされ、値の変更が生じます。 37 セキュア列データの使用 セキュア列データは次の用途には使用できません。 式 :クエリ()条件 式 :クエリ()戻り列 テーブルベースのルール:列をフィルタ テーブルベースのルール:制約メッセージ テーブルベースのルール:制約値 テーブルベースのルール:推奨メッセージ テーブルベースのルール:推奨値 テーブルベースのルール:推奨品目プロパティ セキュア列が参照されている場合、次のBML文にエラーが生じます。 gettabledata() フィールドの選択 gettabledata() フィールドの場所 bmql() フィールドごとのオーダー (動的) bmql() フィールドの場所 (動的) BMLスクリプトに次の保護列参照のあるBMQL文の1つが含まれる場合、保存中にエラーが生じます。 bmql() フィールド順 (静的) bmql() フィールドの場所(静的) 「API取得および削除」が返すSOAP fault のWebサービス基準 セキュア列をデータテーブルに追加 1. 「データテーブル管理」ページに移動します。 「管理」をクリックして「管理プラットフォーム」ページへ移動します。 「開発者ツール」セクションの「データテーブル」をクリックします。 2. 既存の「データテーブル」を開きます。 新規「データテーブル」を作成する手順については、CPQ オ ンライン・ヘルプで「データテーブル」“表の手動追加” のトピックを参照してください。 3. 「データテーブル管理」ページで、右側のペインにある「スキーマ」タブをクリックします。 注意: 「セキュアデータ・タイプ」は、新規列でのみ使用可能です。 「セキュアデータ・タイプ」オプ ションは、既存列の変更時には使用することができません。 4. 「列の追加 」をクリックして、新規「データテーブル」列を追加します。 「新規列」ダイアログ・ボックスが表示されます。 38 図 23: データテーブルのセキュアデータ・タイプ 5. 「列名」と「概要」を入力します。 注意: 列名に使用できる文字は、半角英数字とアンダーバーのみです。 空白文字を使用することはで きません。 6. 「データ・タイプ」のドロップ・ダウン・メニューから、「セキュア」を選択します。 7. 「列の追加」をクリックして、列を保存します。 有効化の手順 「データテーブルのセキュア列」は、自動的にすべての2016 R1サイトで有効化されます。 ヒントと考慮事項 「データテーブルのセキュア列」機能を使用する場合は、以下のヒントを検討してください。 「データテーブル」に使用できる文字列(テキスト)は50列までです。 保護列はその数に含まれま す。 「データテーブル」にテキスト列が既に50列ある場合、管理者はテキスト列を1列削除しない とセキュア列を追加することができません。 「動的ピックリスト」の「データテーブルのセキュア列」のクエリは暗号化データを返します。 主なリソース CPQ Cloud オンライン・ヘルプ:「データテーブルのトピックスを参照してください。 39 容易な管理 CPQ Cloud のサイトを最新に保つために最大の力となるのは管理者です。 管理をさらに容易するために設計さ れたCPQ Cloud 2016 R1では、次の領域に新しい機能が備えられました。 構成における単一選択ピックリスト UIデザイナ BML 拡張 ドキュメントデザイナの新機能 長時間実行スレッド診断 構成における単一選択ピックリスト 「単一選択ピックリスト」への継続的な改善プロセスの一環として、CPQ Cloud 2016 R1では以下の新機能を使 用できるようになりました。 「単一選択ピックリスト」属性へ非表示ルールを適用 「関連ルール」タブを使用して「単一選択ピックリスト」の参照を検出 イメージ・グリッドとして「単一選択ピックリスト」を表示 「単一選択ピックリスト」データ・ソースとして配列セットを使用 「単一選択ピックリスト」属性へ非表示ルールを適用 CPQ Cloud 2016 R1では、管理者は「単一選択ピックリスト」属性に非表示ルールを適用することができます。 事前定義された条件が合致する場合に選択属性を非表示にするため、CPQ Cloudでは条件とアクションで構 成される非表示ルールが使用されています。 管理者は、非表示ルールのアクションとして「単一選択ピックリス ト」属性を使用することができます。 ただし、「単一選択ピックリスト」属性は非表示ルールの条件として使用す ることはできません。 40 「非表示ルール:新規ルール」 ページを使用して、アクションとして 「単一選択ピックリスト」属性を使用する非表 示ルールを定義します。 管理者が指定した条件が合致した場合、これは管理者が選択した「単一選択ピックリ スト」属性 (アクション属性等) を非表示にするトリガーとなります。 図24: 非表示ルール: 新規ルール・ページ 注意: 「単一選択ピックリスト」属性は、「非表示ルール: 新規ルール」ページの 「アクション:(非表示にする属性 を定義)」領域の選択肢でのみ適用することができます。 ページの「条件」領域の選択肢でこれらを使用する ことはできません。 非表示ルールに 「単一選択ピックリスト」がある場合、「関連推奨ルールの追加」機能は 使用することができません。 「関連ルール」タブを使用して「単一選択ピックリスト」の参照を検出 特定の属性を参照するルールのすべてを表示するために 「関連ルール」 タブが使用されます。 タブはルール 名、階層内のルール・レベル、ルール・タイプ、およびルール・コンポーネントを表示します。 以下の図25:「関連 ルール」タブに示されるように、管理者は、「単一選択ピックリスト」から現在の属性に加えられた参照を検出する ために、「関連ルール」 tab タブを使用することができます。 図 25: 「関連ルール」 タブ 41 以下は「関連ルール」タブにある列のそれぞれの概要です。 ラベル: 属性が関連付けられているルールのリスト レベル: 製品階層(例:すべての製品、製品ファミリ、製品ライン、モデル)内のルールのレベル ルール・タイプ: ルールのタイプ。 CPQ Cloud 2016 R1 の新機能である「単一選択ピックリスト」 は、「単一選択ピックリスト」から属性への参照を特定します。 コンポーネント: この特定の属性を使用するルールのコンポーネント。 「単一選択ピックリスト」 が「ルール・タイプ」である場合、参照が「単一選択ピックリスト」のフィルタの一部であるか、「単 一選択ピックリスト」からのピック・マップであるかを、この列が特定します。 イメージ・グリッドとしての「単一選択ピックリスト」を表示 CPQ Cloud 2016 R1では、 管理者は「単一選択ピックリスト」属性 をイメージ・グリッドとして表示することができ ます。 前回のリリースでは、「ドロップ・ダウン・メニュー」は 「単一選択ピックリスト」属性のみ使用できる表示タイ プでした。 「単一選択ピックリスト」属性をイメージ・グリッドとして表示するには: 1. 2. 「構成属性の管理リスト」ページに移動します。 「管理」をクリックして「管理ホーム」ページへ移動します。 「製品」セクションで「カタログ定義」をクリックします。 「サポート製品」ページが表示されます。 「ナビゲーション」列で、「構成属性」を選択した後、「リスト」をクリックします。「構成属性の管理リ スト」ページが表示されます。 「属性タイプ」列で「単一選択ピックリスト」のある属性名をクリックするか、新規属性を作成します。 「 メニュー属性エディタ」ページが表示されます。 3. 「イメージ・メニュー」オプションを「Yes」に設定します。 4. 「表示タイプ」で「グリッド」を選択します。 図26: メニュー属性エディタ 42 次の例では、エンド・ユーザーに「単一選択ピックリスト」属性がどのようにイメージ・グリッドとして表示されるか を表しています。 図 27: イメージ・グリッドとして表示される「単一選択ピックリスト」 属性 「メニュー属性エディタ」で「フィルタ」のテキスト・ボックスを使用して、「単一選択ピックリスト」属性にフィルタを適 用します。 「単一選択ピックリスト」属性にフィルタが適用され、フィルタ値が変更されると、関連付けられた「単一 選択ピックリスト」の「イメージ・グリッド」がフィルタ値に基づき動的に変更します。 注意: 「フィルタ」テキスト・ボックスのサイズは、4000文字までサポートされています。 前回のリリースでは、「 フィルタ」テキスト・ボックスのサポートは128文字まででした。 フィルタ適用時に使用する構文についての情報 は、「CPQ Cloud オンライン・ヘルプ」にある「フィルタ」のトピックを参照してください。 図 28:「メニュー属性エディタ」の「フィルタ」のテキスト・ボックス 43 「単一選択ピックリスト」のデータ・ソースとして配列セットを使用 管理者は 「単一選択ピックリスト」のデータ・ソースとして配列セットを選択することができるようになりました。 前回 のリリースでは、「単一選択ピックリスト」のデータ・ソースとして「データテーブル」のみを使用することができました 。 ドメインとして配列セットを選択することで、配列属性は「単一選択ピックリスト」オプションとして使用されます。 図29の「構成可能な配列セットのエディタ」では、「検索フロー配列」が配列セット名となり、「関連属性」領域に表 示されている属性が配列属性になります。 図 29: 構成可能な配列セットのエディタ 44 「単一選択ピックリスト」属性のエディタにある「ドメイン」領域を使用して、配列セットまたは「データテーブル」を選 択して、データ・ソースとして使用します。 図30の属性エディタで示されるように、「ドメイン」ドロップ・ダウン・メニュ ーには「データテーブル」と配列セットのリストが含まれています。 配列セットは「データテーブル」に先立ち記載さ れており、それぞれがアルファベット順に表示されています。 2つのデータ・ソースの間には区切り文字は表示さ れません。 注意: 「ドメイン」領域の「データテーブル」は「データテーブル」の実際の名前として表示されます。 前回のリリ -スでは、各「データ」表の名前には、「データテーブル」名の前に「カスタム」というプレフィクスが含まれていまし た。 図 30: 属性エディタ 45 配列セットが「ドメイン」ドロップ・ダウン・メニューから選択されると、 配列セットの配列属性のすべてに、「値」、「 表示」、および「ピッカー属性」領域が自動的に移入されます。 管理者が「ピッカー属性」ドロップ・ダウン・メニュ ーから配列属性を選択した後に、「モデル属性」領域のオプションは自動的に移入されます。 注意:配列セットの「ドメイン」ではフィルタ機能はサポートされていません。 「ドメイン」として配列セットを選択 すると、フィルタは消去され、元に戻すことはできません。 図 31: 属性エディタ ヒントと考慮事項 「単一選択ピックリスト」の新機能を使用する場合は、次のヒントを検討してください。 「データテーブル」で「表示名」または「変数名」の列が空欄または「null」として指定されている場合 、 ピック・マップは正常に機能しません。「単一選択ピック」マップでは、空欄に対して「null」と表示 されます。 「データテーブル」に、「class」または「null」と表記された列がある場合、管理者は「データテーブル 」を使用できても、列の使用ができません。 ユーザー側では、「構成」での「データテーブル」列の 名前は「class break」または「null break」になります。 「単一選択ピックリスト」フィルタで使用される「数値構成」属性は、属性のフォーカスが失われた場 合に検証されるようになりました。 これは、ユーザーがクリックした場合、または「タブ」キーを使用 してページ上で次の属性に移動した場合に生じます。 前回のリリースでは、「構成」が保存される かアップロードされるまで、数値的な「構成」属性(例:整数または浮動小数)は検証されませんで した。 前回のリリースでは、 「単一選択ピックリスト」 の「構成」属性はパイプライン・ビューアで「表示」値 のみを示し、その一方で「コマース」は同様の属性に対し、「表示」値と「変数」名の両方の「ラベル [varname]」を示していました。 2016 R1では、「構成」はすべての「構成」属性タイプに対し、その パイプライン・ビューアの「コマース」と同様のパターンに従います。 主なリソース 「CPQ Cloud オンライン・ヘルプ」で、「単一選択ピックリスト」トピックを参照してください。 46 UI デザイナ UI デザイナは、CPQ Cloud 内の新しいOracle Application Development Framework (ADF)ページを編集す るためのシンプルで直観的な方法を管理者に提供する、新しいドラッグ・アンド・ドロップ・エディタです。Oracle ADFは、利便性の高いインフラストラクチャー・サービスと加速的でより簡潔な開発エクスペリエンスを提供する ことで、より容易なアプリケーション開発を実現するエンド・ツー・エンドのフレームワークです。 CPQ Cloud 2016 R1で導入されたUI デザイナは、事前定義されたレイアウトを次の機能を使用して管理する方 法を提供します。 レイアウト・リスト・ページ UI デザイナの画面レイアウト レイアウト 属性 レイアウトの設定 パネル設定 表設定 列設定 ボタン設定 レイアウト・リスト・ページ 「レイアウト・リスト」ページには、CPQ Cloud 2016 R1で使用することのできる2つの事前生成されたADFユーザ ー・インターフェースのレイアウト(「顧客資産リスト」および「パフォーマンス・ログ・リスト」)が備えられています。 管理者は組織の要件を満たすために、これらのレイアウトをカスタマイズすることができます。 図 32: レイアウト・リスト・ページ 管理者は、「一般設定」セクションの「UIデザイナ」を選択することで、「管理ホーム・ページ」から「レイアウト・リス ト」ページにアクセスすることができます。 「レイアウト・リスト」ページを使用して、カスタマイズする事前生成され たレイアウト名をクリックします。 これで「UIデザイナ」でレイアウトが開かれます。 47 UI デザイナの画面レイアウト 「UIデザイナ」には、管理者が簡単にカスタマイズすることができるCPQ Cloud 2016 R1で利用可能な2つの事前 生成されたADFレイアウトが ドラッグ・アンド・ドロップ・インターフェースが含まれています。 これらのレイアウト は、以下の「図33:顧客資産リスト」と「図34:パフォーマンス・ログ・リスト」に示されています。 「図33:顧客資産リスト」の赤枠で囲まれた列またはパネル見出しのようなレイアウトのコンテンツをクリックすると 、管理者は関連する設定の表示や変更をすることができます。 マウスを設定に移動すると、設定についての有 益なヒントのツールヒントを表示することができます。 図 33: 顧客資産リスト 図34: パフォーマンス・ログ・リスト 48 レイアウト 「レイアウト」パネルには、レイアウトの作成に使用する基本コンポーネントがあります。 使用するコンポーネント をコンテンツ領域にドラッグ・アンド・ドロップして、レイアウトのコンポーネントに配置します。 図 35: レイアウト・パネル 注意: CPQ Cloud 2016 R1では、レイアウトごとに1つのパネルと1つの表のみがサポートされています。 属性 「属性」パネルには、コンテンツ領域の選択肢に追加することのできるオブジェクト属性のリストがあります。 属 性を列として追加するには、表上で属性をドラッグ・アンド・ドロップします。 注意: 「属性」パネルの属性は、表の選択時のみ使用することができます。表が選択されていない場合は、属 性はパネルに表示されません。 図 36: 属性パネル 49 列を削除するには、列を選択し、アイコンのすぐ右側にある削除アイコンをクリックします。 「図37:列 の削除」で、赤い枠で囲まれているのが削除アイコンです。 図 37: 列の削除 レイアウトの設定 「レイアウトの設定」を使用して、レイアウトに関連付けられている「名前」、「概要」、「パラメータ」および「 カテゴリ」をカスタマイズします。 「レイアウトの設定」の各手順は以下に示され、マウスを設定に移動 させることでツールヒントとして使用することができます。 図 38: レイアウトの設定 注意:「名前」、「説明」、および「カテゴリ」値は 、「レイアウト・リスト」ページで表示することができます。 名前: レイアウトに個別の識別子を入力します。 タイトル:ブラウザ・タブまたはヘッダーで表示されるタイトルを入力します。 概要: コンテンツの概要またはレイアウトの目的を入力します。 パラメータ: 「レイアウト・パラメータ」ダイアログを使用して、レイアウトに関連付けられたパラメータ の追加、変更、または削除をします。 「レイアウト・パラメータ」ダイアログには、すでに定義されている デフォルト値を含めることができます。ただし、それらは初めにURLを介したパラメータによって定義さ れています。 50 図 38: レイアウトの パラメータ カテゴリ: カテゴリを選択するか、新規カテゴリを作成して、「レイアウト・リスト」ページ でレイアウトを 整理します。 図 39: レイアウトの設定 51 パネル設定 「パネル設定」を使用して、パネルに関連付けられた「タイトル」、「ヘルプ・テキスト」、「ヘルプURL」、「ツールヒ ント」、または「アイコン・セット」をカスタマイズします。 パネル例は以下に赤枠で囲まれて示されています。 図40: パネル例 次は、各「パネル設定」についての概要です。 タイトル: パネルの左上にあるタイトル表示。 図40:パネル例では、「顧客資産」がパネルのタイ トルになります。 ヘルプ・テキスト:「ヘルプ」アイコンにマウスを移動させると表示される概要テキスト。 ヘルプ URL: 「ヘルプ」アイコンをクリックすると開かれるページのURL。 注意:「ヘルプ・テキスト」または「ヘルプURL」領域にコンテンツが入力されていない場合、「ヘルプ」ア イコンはパネル上に表示されません。 ツールヒント:パネルのどこかにマウスを移動させると表示されるショート・メッセージ。 アイコン・セット: タイトルの横にあるパネルの左上に表示されるアイコン。 パネルのアイコン・セ ットは「有効」状態でのみ表示されます。 パネルのアイコン・セットの動作は、ボタン上のアイコン ・セット機能に比較して静的です。 図 41: パネル・設定 52 表設定 「顧客資産リスト」レイアウトと「パフォーマンス・ログ・リスト」レイアウトは、両方とも表フォーマットで表示されていま す。 「表設定」を使用して、表の列の固定機能の有効化、行番号の追加、およびデフォルトの列幅の変更などの カスタマイズを、これらの表に行います。 以下は、各「表設定」についての概要です。 要約: 表のコンテンツの要約を入力します。これはアクセス可能なレイアウトを作成するための重要 な手順です。 リソース: 表のコンテンツを定義するために使用するオブジェクトを選択します。使用できるオプション には、「資産」および「パフォーマンス・ログ」が含まれます。 注意: 資産に関する追加情報については、このドキュメントの「サブスクリプション・オーダー」セクションを 参照してください。 パフォーマンス・ログに関する追加情報については、「CPQ Cloud オンライン・ヘルプ」を 参照してください。 リソース・クエリ・フィルタ: フィルタを定義して選択済オブジェクトに適用します。 ツールヒント:表にマウスを移動したときに表示するショート・メッセージを入力します。 列の拡張:列を選択して、表の余白スペースを埋めます。 高さ(行):表の高さを表示します。 ユーザーがスクロールすると、追加の行が表示されます。 列の固定の許可: 「列の固定の許可」チェックボックスをチェックして表のツールバーに「固定」ボタ ンを表示することで、ユーザーは列の固定および解除ができます。 列を選択し固定すると、固定列 の右に水平スクロール・バーが作成されます。 行番号: 「行番号」のチェックボックスをチェックして、表の各行の行番号を表示します。ユーザーが スクロールすると、追加の行が使用できるようになります。 図 42:行番号と列の固定が有効化された表 53 列設定 「列設定」を使用して、列ラベル、列の表示または非表示を変更し、ラベル、URL、および列に関連付けられた指 定のパラメータを追加または変更します。以下は各「列設定」の概要です。以下は、各「列設定」についての概要 です。 ラベル: 行のヘッダーで表示される行のラベル リソース属性: 列に関連付けられたオブジェクト属性を表示します (例: 列作成するために「属性」 パネルから表にドラッグされた属性)。 データ・タイプ:オブジェクト属性に関連付けられたデータ・タイプを表示します。 表示:チェックボックスを選択して、デフォルトでエンド・ユーザーに表の列を表示します。 その後エ ンド・ユーザーはオプションで、列の非表示または表示を選択できます。 ナビゲーション: URLを選択して列に関連付けます。 操作:列に割当する操作を選択します。 ヘルプ URL:「ヘルプ」アイコンをクリックすると表示されるテキストまたはURLを入力します。 図 43: 列設定 54 ボタン設定 「ボタン設定」を使用して、ボタンの「ラベル」、「ナビゲーション」オプション、「操作」、「ツールヒント」、および「アイコ ン・セット」を設定します。 以下は、各「ボタン設定」についての概要です。 レベル: ボタンに表示されるラベルを入力します。 ナビゲーション: ボタンに関連付けするURLを選択します。.ボタンをクリックすると、指定されたURL が開かれます。 操作: ボタンに割当てする操作を選択します。 ツールヒント: ボタンにマウスを移動すると表示されるショート・メッセージを入力します。 アイコン・セット: アイコン・セットに関連付けられたボタン。 各アイコン・セットには、「有効化」、「無効 化 」、およびアイコン・セットに関連付けられたボタンをクリックした際の「アクティブ」状態と同様に「ホ バー」状態があります。 非表示ラベル: ボタンに割当されたテキスト・ラベルを非表示にして、ボタンをアイコンとしてのみレン ダリングします。 注意: アイコン・セットがボタンに関連付けられている場合は、「ボタン設定」パネルで“非表示ラベル”オプ ションが使用できます。 図44: ボタン設定 55 ヒントと考慮事項 「UIデザイナ」を使用する場合は次のヒントを検討してください。 レイアウトごとに1つのパネルのみが現在サポートされています。 管理者がレイアウトに追加のパ ネルのドラッグ・アンド・ドロップを試行した場合、レイアウトは追加のパネルで更新されません。 「ヘルプURL」や「ナビゲーションURL」を定義する際、外部リンクの先頭に「http://」または「https://」 を使用してください。 それ以外の場合、パスはCPQ Cloud ページ内にある内部パスと想定されま す。 「/commerce/display_company_profile.jsp 」などのエンドポイントのみが入力された場合、全 体のURL 「[site].oracle.com/commerce/display_company_profile.jsp」を形成するためのCPQ ドメインが自動的に追加されます。 推奨される実例としては、「リソース・クエリ・フィルタ」で使用される必須のレイアウト・パラメータを、 特にパラメータ・タイプがテキストでない場合、作成してください。 それ以外の場合、 ページのロー ド試行時にランタイム・エラーが発生し、「リソース・クエリ・フィルタ」の評価が失敗する可能性があ ります。 ボタンのアイコン・サイズは16 x 16 ピクセルに制限されています。 アイコン・サイズはパネル上で 制限があるように表示されることがありますが、アイコンの無制限サイズでイメージはエンド・ユー ザーに表示されます。 アイコン・セットのイメージを定義する場合、イメージ・サイズが「ファイル・マ ネージャ」で適切であることを確認してください。 「顧客資産リスト」レイアウトや「パフォーマンス・ログ・リスト」レイアウトでは、使用できるすべての 属性タイプがサポートされているわけではありません。 例えば、管理者は「通貨」および「通貨コー ド」の属性を「顧客資産リスト」に追加することができますが、属性はエンド・ユーザーに対し値を表 示しません。 主なリソース CPQ Cloud オンライン・ヘルプで、「UIデザイナ」トピックを参照してください。 56 パフォーマンス・ログ・ページ CPQ Cloud リリース 2016 R1で使用可能になった新しい「パフォーマンス・ログ」ページを使用することで、管理 者は CPQ Cloud 営業ユーザーによるパフォーマンス・エクスペリエンスを、モニターし分析することができます。 このページで CPQ Cloud のリリース 2015 R1で配信された 「パフォーマンス・ログ」 REST API が活用すること で、パフォーマンス・ログ・データのアクセスとユーザビリティが向上します。 「管理者ツール」セクションの「パフォーマンス・ログ」を選択することで、「管理ホーム・ページ」から 「パフォーマン ス・ログ」 ページにアクセスします。 図 45: パフォーマンス・ログ 管理者はこのページで、「ログイン」、「ログアウト」、「コマース」、および「構成」アクションなどのユーザー・アクショ ンを、アクションの完了に必要とされるサーバーおよびブラウザの経過時間で表示することができます。 列のヘッ ダーをクリックしてそれを選択し、列のコンテンツの昇順および降順ソートを有効化します。 「表示」メニューを使用し て、表に表示されている列を表示または非表示にします。 ユーザーは列のサイズ変更や再調整をして、表示を カスタマイズすることができます。 例による問合せ(QBE) 「UIデザイナ」で生成されたページで使用することのできる、新しい「例による問合せ(QBE:Query by Example) 」機能を使用し、ログ済イベントをフィルタします。 フィルタ・アイコンをクリックしてクエリ領域を有効化した後、フ ィルタ基準を入力します。 エンター・キーを押してフィルタをアクティブ化します。 このようにして複数列全体をフィ ルタすることできます。フィルタを消去するには、QBE行に左側にある消しゴムの鉛筆アイコンをクリックします。 図 46: 「例による問合せ(QBE)」 主なリソース CPQ Cloud オンライン・ヘルプの「パフォーマンス・ログ」および「UIデザイナ」のトピックを参照してください。 57 BML 拡張 CPQ Cloud のマークアップ言語であるBMLにより、管理者は、BML JSON および JSON 配列操作関数を使用 して、新しいJava Script Object Notation(JSON)データ・タイプ(例:JSON、JSON 配列、およびJSON null )の 作成や、JSONデータの生成、変更、解析、抽出、および問合せができるようになりました。 JSON操作関数の JSONパス式の追加されたことで、上級ユーザーはJSONデータのノードや値の取得や変更がより簡単にできる ようになりました。CPQ Cloud 2016 R1で使用可能になったこれらのBML拡張は、「部品構成表(BOM)」や「サ ブスクリプション・オーダー」をサポートしています。 2016 R1のBML拡張についての追加情報は以下に記載されています。 JSON 関連関数 JSON 配列関連関数 JSON パス関連関数 リモート承認をサポートする関数 固有 ID生成関数 URLアクセス関数 同一サーバー認証 ユーザー・セッション関数 グローバル・ディクショナリ関数 エラー・スロー関数 テンプレート適用関数 BML印刷ログ 58 JSON 関連関数 次は、CPQ Cloud 2016 R1で導入されたJSON 関連関数です。 JSON 関数 概要 json(): JSON オブジェクトを作成します。 jsonkeys(): JSON オブジェクトからすべての第一レベル・キーを取得し、文字列の配列を返し ます。 オプションのパラメータ(null値を無視)がtrueに設定されている場合、null 値キーは無視されます。 jsontostr(): JSONオブジェクトをJSON形式の文字列に変換します。 jsonget(): 指定されたキーのJSONオブジェクトから値を取得します。キーが利用できない場合、 値はパラメータが返されたデフォルト値で指定されます。 jsonput(): JSONオブジェクトにエントリ(キー値)を配置します。 jsonremove(): JSONオブジェクトからの第一レベル・キーと値のペアを削除します。 jsoncopy(): 指定されたJSONオブジェクトのコピーを返します。 jsonnull(): JSON nullオブジェクトのインスタンスを取得します(JSON文字列にnullを表します)。 isjsonnull(): JSONまたはJSON配列オブジェクト内のnull値をチェックし、値がnullの場合はtrueを 返します。 JSON 配列関連関数 次は、CPQ Cloud 2016 R1で使用することができるJSON 配列関連関数です。 JSON 配列関数 概要 jsonarray(): JSON配列オブジェクトを作成します。 jsonarraytostr(): JSON配列オブジェクトをJSON配列形式の文字列に変換します jsonarrayget(): 指定されたインデックスにJSON配列オブジェクトから値を取得します jsonarraysize(): JSON配列のサイズを返します。 jsonarrayappend(): JSON配列の末尾に指定の値を追加します。 jsonarrayremove(): JSON配列から指定されたインデックスで指定されたオブジェクトを削除します jsonarraycopy(): 指定されたJSON配列オブジェクトのコピーを返します 59 JSON パス関連関数 次は、CPQ Cloud 2016 R1で使用することができるJSON パス関連関数です。 JSON パス機能 概要 jsonpathgetsingle(): 指定されたJSONパス式のJSONオブジェクトから値を取得します。 jsonpathgetmultiple(): 指定されたJSONパス式のJSONオブジェクトから値(複数可)とパス(複数 可)を取得します。 jsonpathcheck(): JSONでのJSONパスの有無を確認するJSONのlookup機能 jsonpathset(): 指定された値で指定されたJSONパス式に対応するすべてのノードを更 新します。 jsonpathremove(): 指定されたJSONパス式に対応するオブジェクト(複数可)と値(複数可) を削除します。 JSON パス式 JSONパス式は、JSON構造にある1つ以上のノードまたは値を表すために使用され、データのフィルタリングや さらなるデータ・インサイトにも使用されます。 シンプルなJSONパス式を記述するためには2つの方法があります シンプルな表記法 キーが英数字である場合に一般に使用されます(数字とアルファベットのみが含まれる場合)。 各ドット表記は1つのレベル・スキャンを意味します。例:「$.id」は、第一レベルの「id」キーに対応 する値を表します。 JSON パスには、n レベルのディープ・スキャンと同様の用途があります。例:「 $.attributes.size」パスは、第一レベルの“属性”キーを検索することで開始され、その後第 2レベルの“サイズ”キーに移ります。 ダブル・ドット(..)が使用されている場合、これはJSON構造内でのディープ・スキャンを表します。 例: 「 $..value」は、構造内のすべてのレベルですべての“値”キーに対応する値のすべてを表してい ます。 シングル・ドットとダブル・ドットを結合して、JSONパス式を作成します。 例:「$..size.value」は最 初にドキュメント全体を検索し、すべてのレベルで"サイズ"キーに対応するすべての値を取得しま す。 これらの値の範囲内で、次のレベルの"値"キーに対応する値が取得されます。 JSONパス式の記述中に配列が検出された場合は、配列のインデックスを指定します。例: 「 $.children[0].variableName」は、一番目の子から変数名を取得します。 シンプルなJSONパス式を記述する場合、ドット、ダブル・ドット、オブジェクト、および配列表記を結 合して、1つ以上の値を直観的に表します。 1つのJSONパスでも複数の値を表すことができます。 例「$..label」は、2つの異なる値を表す ことになります。 60 ブラケット表記法 キーが英数字でない場合、一般的にはブラケット表記が使用されますが、全体的な構成はドット表 記と全く同じになります。 例: 「$.['attributes'].['size'].['label'],$.['children'][0].['quantity']」へは、以下の 演算子を使用して、複雑なJSONパス式を記述します。 DOT 演算子 演算子 概要 $ すべてのパス式を開始するルート要素。 @ 処理済フィルタ内の現在のノード。 * 名前 または数字のワイルドカード文字。 .. すべての子ノードの検索に使用されます。 結果の配列を生成します。 .<name> 単一の子関連を表します。 ['<name>' (, '<name>')] 単一または複数の子関連を表します。 [<number> (, <number>)] 単一または複数の配列インデックスを表します。 [start:end] 配列範囲を表します。 [?(<expression>)] ブール・ フィルタ式. 特定の関数をJSONパスの末尾で使用して、ドット表記法を使用して特定の関数を実行することができます。 下 記の「JSONパスのサンプル」セクションにて、いくつかの例が示されています。 min()、max()、avg()、および stddev()関数は、数値の配列を評価に使用することができます。 length()関数は、配列の結果のサイズを指 定するために使用することができます。 ブール・フィルタ式は意図した値のサブセットへのJSON配列の削減に役立ちます。 「 @」は、現在処理されてい るノードを表し、一般的なフィルタは「$.children[?(@.quantity> 1)]」になります。 論理演算子「 &&」および「 || 」を使用し、より複雑なフィルタを作成します。 文字列リテラルが一重引用符 「$.children[?(@.partNumber == 'PT13345')]」で囲まれていることを確認してください。 フィルタ式は、共有の比較演算子 「==」、「 !=」、 「<」、 「<=」、「 >」、「 >=」 と、以下の拡張演算子をサポートして います。 61 拡張演算子 演算子 概要 =~ 左は正規表現 [?(@.name =~ /foo.*?/i)]と一致します。 in 左側の表現は右に含まれています。 [?(@.color in ['Red', 'Green'])]. nin 左側の表現は右に含まれていません size 左側のサイズは右と同等です。 empty 左側が空白です。 62 JSON パスのサンプル 次が指定されています: { "id": "7345ABCDE", "variableName": "BM54888-0", "partNumber": "BM54888", "quantity": 1, "definition": { "SequenceNum": 20, "ItemId": "EBS56321" }, "fields": { "_price_list_price_each": 99.12, "line_action_code": "Update" }, "attributes": { "size": { "value": "Large", "label": "Size" }, "instruction": { "value": "Leave the package at the door.", "label": "Special Instruction" } }, "children": [ { "variableName": "BM54888-1", "partNumber": "PT13345", "quantity": 1 }, { "variableName": "BMDSK781-4", "partNumber": "DSK781-4", "quantity": 17 } ], "numericVals": [1, 2, 4, 5.6, 89, 0.05], "Special key $$": true } 63 JSON パス 概要 / 出力 $.id Id を取得します。 "7345ABCDE" すべてのレベルで取得可能なすべての値を取得します。 $..value "Large" "Leave the package at the door." $.attributes.size.value 属性値を取得します - > サイズ "Large" すべてのレベルで取得可能なサイズ・キーの値を取得します。 $..size.value "Large" $.children[0] 最初の子を取得します。 $.children[0]..quantity {"variableName":"BM54888-1", "partNumber":"PT13345","quantity":1 } 最初の子の数量を取得します。 1 $.[ 'id'] idを取得します。 "7345ABCDE" すべてのレベルで取得可能なすべての値を取得します。 $..[ 'value'] “Large" "Leave the package at the door." $.[ 'attributes']..[ 'label'] 属性の下位のすべてのラベルを取得します。 "Size" "Special Instruction" $.[' Special key $$ '] 指定されたキーに対応する値を取得します。 true $..children[0,1] 第一および第二の子を取得します。 $.children[?(@.quantity> 1)] {"variableName":"BM54888-1", "partNumber":"PT13345","quantity":1 } {"variableName":"BMDSK781-4", "partNumber":"DSK781-4","quantity":17} 数量が1つ以上の子を取得します。 {"variableName":"BMDSK781-4", "partNumber":"DSK781-4","quantity":17} $.children[?(@.partNumber == 'PT13345')] $.numericVals.avg() 「partNumber」 が「PT13345」の子を取得します。 {"variableName":"BM54888-1", "partNumber":"PT13345","quantity":1 } 数値の平均値を取得します。 16.941666666666666 64 JSON パス 概要 / 出力 $.numericVals.length() 「numericVals」キーに対応する配列の長さを取得します。 6 $.children[?(@.partNumber nin ['PT13345'])].quantity 「partNumber」が 「PT13345」でない子の数量を取得します。 17 $..children[0].* 最初の子のすべての子値を取得します。 BM54888-1" "PT13345" 1 $.attributes.* 属性ノードの直接の子をすべて取得します。 {"value":"Large","label":"Size"} {"value":"Leave the package at the door.", "label":"Special Instruction"} $.attributes..* 属性ノードのディープ・レベルの子をすべて取得します。 {"value":"Large","label":"Size"} {"value":"Leave the package at the door.", "label":"Special Instruction"} "Large" "Size" "Leave the package at the door." "Special Instruction" $..children[-1:].quantity 最後の子の数量を取得します。 17 $..children[*].quantity すべての子の数量を取得します。 1 17 リモート承認をサポートする関数 次の関数は、リモート承認をサポートするために使用することができます。 Oracle Process Cloud Service ( PCS)と CPQ Cloudとの連携では、これらの関数を活用しています。 またこれらの関数はPCSの外部でも使 用することができます。 dict<anytype> bytearray getattachmentdata urlmultipartbypost 注意:リモート承認関数をbyte 配列のデータ・タイプとして使用して添付ファイルのコンテンツを取得し、添付 ファイルの詳細を「dict<anytype>」と呼ばれる新しいデータ・タイプで格納します。 65 DICT<ANYTYPE> dict<anytype> 概要 この機能はディクショナリ内の複数のオブジェクト・タイプの追加をサポートします。「 dictionary get()」、「dictionary put()」および「dictionary keys()」機能もまた「dict<anytype>」 からの値やキーの追加または取得をサポートします。 パラメータ <anytype> 文字列 <anytype> は次のデータ・タイプの1つまたは複数の組合 せを表します:文字列、整数、浮動小数、日付、文字列 []、 整数[]、浮動小数[]、日付[]、文字列[][]、整数[][]、 浮動整数[][]、日付[][]、ブール、ディクショナリ<文字列 >, ディクショナリ<anytype>、ディクショナリ(ディクショナ リ<anytype>)、 JSON、JSON配列、あるいはバイト配列 構文 dict(String <anytype>) 入力サンプル d1 = dict("anytype"); put(d1, "key1", "value1"); jObj = json("{\"K1\":\"V1\"}"); put(d1, "key2", jObj); 戻り値サンプル 様々なデータ・タイプのキーと値のエントリを含むディクショナリが作成され、2つのキー 値エントリがディクショナリに挿入されます。 BYTEARRAY() bytearray() 概要 この機能はファイル・コンテンツなどのバイナリー・データの収集を保存します。 これは指 定された文字列を、指定された文字エンコーディングでバイト・シーケンスにエンコードし ます。 この新しいタイプはPCS連携をサポートするために追加され、バイト配列としてファ イル・コンテンツを返すためにBML getattachmentdata 関数で使用されています。 パラメータ content 文字列 エンコードされる文字列。 charSet 文字列 文字エンコーディング。 これはASCII、ISO-8859-1、UTF-32BE な どのJava SE Runtime Environment 6 でサポートされているすべ てでエンコードすることができます。 オプションとして、デフォルトの指定がない場合は、 UTF-8になりま す。 構文 ByteArray bytearray(String content [, String charset]) 入力サンプル content Sample String charset UTF-16 戻り値サンプル bytearray [UTF-16]: Sample String 66 GETATTACHMENTDATA() getattachmentdata() 概要 この関数は、ディクショナリ<anytype> の指定の添付ファイル属性のファイル名(filename) 、ファイル・コンテンツ(filecontent)、およびMIMEタイプ(mimetype)を返します。 ファイル・ コンテンツは、bytearray、または入力パラメータに基づいてBase64でエンコードされた文字 列で取得することができます。 パラメータ attachmentId asBytes 文字列 ブール 返される添付ファイルのID。 このIDは、BMLの添付ファ イル属性への参照で返されます。 trueの場合、返されるデータ・タイプはbytearrayとなりま す。Falseの場合、返されるデータ・タイプはBase64 でエン コードされた文字列となります。 オプションとして、指定がない場合、デフォルトはfalseとな ります。 構文 Dict<anytype> getattachmentdata(String attachmentId [, Boolean asBytes] 入力サンプル attachmentID 12345678 asBytes false 戻り値サンプル { mimetype=text/plain, filename=example.txt, filecontent=VGhpcyBpcyBhbiBleGFtcGxlLg= = } 67 URLMULTIPARTBYPOST() urlmultipartbypost() 概要 パラメータ この機能は、添付ファイルのついたマルチパート・メッセージを送信することでリモート承認をサ ポートします。 url 文字列 リクエスト url. payload headers 文字列 ディクショナリ ペイロード. メッセージ・ヘッダー オプション attachments ディクショナリ 構文 Dictionary urlmultipartbypost(String url, String payload, [Dictionary headers, [Dictionary attachments]]) 入力サ ンプル url requesturl payload {"processDefId":"default~CPQApproval!1.0~QuoteApproval Process","serviceName":"QuoteApprovalProcess.service", "operation":"start","payload":"<quot: start xmlns:quot='http://xmlns.oracle.com/bpmn/bpmnCloudProc ess/CPQApprovalDemo/QuoteApprovalProcess'><requestor>S uyog</requestor><quoteId123456</quoteId><quoteTotal>12 567</quoteTotal><discountPercentage>23</discountPercen tage><requestorEmail>approve_pCSsubmit</requestorEmail ></quot:start>", "action":"Submit"} headers メッセージ・ヘッダー attachments 複数の添付ファイルのディクショナリ。 戻り値サン プル 成功した場合、「ステータス・コード」、「コンテンツ・タイプ」、「メッセージ本文」などの httpレスポンスのディクショナリ表現が返されます。 68 固有 ID生成関数 getuuid() 概要 この機能は「サブスクリプション・オーダー」の資産追跡の固有 IDを生成します。資産キー を使用して、「サブスクリプション・オーダー」 のすべての資産が追跡されます。 固有IDが 生成されると、それが資産の資産キーになります。 生成される資産キー数は、関数のカ ウント・パラメータによって決まります。 パラメータ count 構文 String[] getuuid(Integer count) 入力サンプル count 戻り値 サンプ ル [6bafc278-25fd-495f-8360-67bcfb8776b0, 65abced9-5c47-47c6bf18-ab96fb73935f] 整数 生成される固有ID 数 2 URLアクセス関数 RESTful Webサービスのhttp「DELETE」および「PUT」方式をサポートするため、urldata()関数が拡張されまし た。 例: 「http DELETE」方式を使用してRESTful サービスを開始します: headerDict = dict("string"); encodecredential = encodebase64("<username>:<password>"); authStr = "Basic " + encodecredential; put(headerDict, "Authorization", authStr); response = urldata("http://<hostname>/rest/v1/commerceDocumentsTransaction_bmClone_2Quote /{bsid}/lineItem/{id}", "DELETE", headerDict); 「http PUT」方式を使用してRESTful サービスを開始します: headerDict = dict("string"); encodecredential = encodebase64("<username>:<password>"); authStr = "Basic " + encodecredential; put(headerDict, "Authorization", authStr); put(headerDict, "Content-Type", "application/json"); cancelBody = "{\"id\":\"cancel\"}"; response = urldata(“http://<hostname>/bpm/api/1.0/processes/101”, "PUT", headerDict, cancelBody); 69 同一サーバー認証 内部 RESTful Webサービス・コールの開始時のオプション認証を許可するため、urldata()関数と urldatbypost()関数が拡張されました。 指定の認証資格証明がない場合、現在のユーザーのログイン資格証明 が使用されます。 例: urldatabypost()を使用して、RESTfulサービスを開始します。: url = "http://<hostname>/rest/v1/commerceDocumentsTransaction_bmClone_2Quote/{id} /actions/saveWithAdvancedValidation"; jsondesc = json(); jsonput(jsondesc, "quoteDescription", "new Quote"); payload = json(); jsonput(payload, "documents", jsondesc); headerDict = dict("string"); //Authorization string is no longer required in the header put(headerDict, "Content-Type", "application/json"); urldatabypost(url, jsontostr(payload), "" , headerDict, true); ユーザー・セッション関数 ユーザー・セッション関数は、「サブスクリプション・オーダー」をサポートするBMLのセッション・キャッシュからのキ ーと値のペアの設定、削除、取得をサポートします。 値はユーザー・セッションがアクティブである限り有効です。 セッション・キャッシュで保存された値は、ユーザーのログアウト、セッションの期限切れ、あるいはサーバーの再 起動が実行された場合に自動的に削除されます。 次は、新しいユーザー・セッション関数になります。 usersessionset(): usersessionget(): usersessionremove(): 70 USERSESSIONSET() usersessionset() 概要 この関数はユーザー・セッションへのキーと値のペアを設定します。 セッション期限が切れ ると設定されたキーと値のペアは失われます。 パラメータ key 文字列 保存された値に対応するキー value 文字列 または JSON 保存される値。 値タイプは文字列 または Jsonにすることが できます。 構文 usersessionset(String key, <ValueType> value) 入力サンプル key sessionKey1 value value1 戻り値サンプル ユーザー・セッションで設定されたキーと値のペア。 USERSESSIONGET() usersessionget() 概要 この関数はユーザー・セッションの指定されたキーの値を取得します。キーが見つ からない場合、nullが返されます。 パラメータ key 文字列 取得される値に対応するキー。 valueType 文字列 または JSON 戻り値のデータ・タイプ。 オプション。 デフォルト値は文字列となります。 構文 <ValueType> usersessionget(String key [, String valueType]) 入力サンプル key sessionKey1 valueType String 戻り値サンプル value1 71 USERSESSIONREMOVE() usersessionremove() 概要 この関数はユーザー・セッションからキーと値のペアを削除します。キーと値のペアが正常 に削除された場合、関数がtrueを返します。 ユーザー・セッションにキーが存在しない場合 はfalseを返します。 パラメータ Key 構文 Boolean usersessionremove(String key) 入力サンプル sessionKey1 出力サンプル true 文字列 削除されるキーと値のペアに対応するキー。 グローバル・ディクショナリ関数 グローバル・ディクショナリ関数は「サブスクリプション・オーダー」をサポートし、BMLのグローバル・ディクショナリ からのキーと値のペアの設定、取得、および削除に使用することができます。 複数のセッションで、値の設定中 に指定された最小有効時間を超えた場合、値が定期的に削除することができます。 最小有効時間の終了後に グローバル・ディクショナリ値を使用できる保証はありません。 以下は新しいグローバル・ディクショナリ関数になります。 globaldictset(): globaldictget(): globaldictremove(): 72 GLOBALDICTSET() globaldictset() 概要 グローバル・ディクショナリでキーと値のペアを追加または更新する関数。 パラメータ key 文字列 キーがnull または空白の場合、固有キーが生成されグ ローバル・ディクショナリに追加されます。キーの指定が グローバル・ディクショナリにない場合、グローバル・デ ィクショナリに キーと値のペアが追加されます。 value 文字列 キーがある場合は、対応するキーに値が更新 されます。 minTimeToLive 整数 キーと値のペアは、分単位の最小有効時間で、グローバ ル・ディクショナリで保証されています。値は 0 以上 525600 分 (365日)未満に設定してください。 オプションとして、デフォルト値は1440分となります。 構文 String globaldictset(String key, String value [, Integer minTimeToLive]) 入力サンプル key globalKey1 value value1 minTimeToLive 出力サ ンプル globalKey1 73 GLOBALDICTGET() globaldictget() 概要 この関数は、指定されたキーに対応するグローバル・ディクショナリ で保存された値を返 します。 キーがグローバル・ディクショナリで見つからない場合、null が返されます。 パラメータ key 文字列 取得される値に対応するキー。 updateTimeToLive ブール trueに設定された場合、最小有効時間は取得され た時間から再計算されます。falseに設定された場 合、最小有効時間への変更はありません。 オプションとして、デフォルト値は falseとなります。 構文 String globaldictget(String key [, Boolean updateTimeToLive]) 入力サンプル key globalKey1 updateTimeToLive 出力サ ンプル value1 GLOBALDICTREMOVE() globaldictremove() 概要 この関数は、グローバル・ディクショナリから指定のキーと値のペアを削除します。 キー と値のペアが正常に削除されると、関数はtrueを返します。 グローバル・ディクショナリ にキーがない場合、falseが返されます。 パラメータ key 構文 Boolean globaldictremove(String key) 入力サンプル globalKey1 出力サ ンプル true 文字列 取得されるキーと値のペアに対応するキー。 74 エラー・スロー関数 throwerror() 概要 この機能はBMLスクリプトの実行を停止し、ビジネス・ロジック・エラーあるいはエンド・ユーザ ーへのシステム・エラーのいずれかが表示されます。 システム・エラーの場合、一般的なエ ラー・メッセージが表示され、実際のエラー・メッセージがエラー・ログ・ファイルに記録されま す。 注意: Oracle社では、この関数を「構成」または「コマース」ルール条件で使用することを推 奨していません。 ルールが見積トランザクション画面からトリガーされると、ユーザーにエラ ーが常に表示されなくなります。 パラメータ errorMessage 文字列 エンド・ユーザーに表示されるエラー。 isSystemError ブール エラー・タイプを選択するフラグ。falseの場合、ユーザー に errorMessageが表示されます。Trueの場合、システム ・エラーがスローされ、errorMessageがエラー・ログ。ファ イルに印刷されます。 オプションとして、デフォルト値は falseとなります。 構文 throwerror(String errorMessage [, Boolean isSystemError]) 入力サ ンプル 入力シナリオ1 : throwerror("This is a custom error!!"); 入力シナリオ 2 : throwerror("This is a system error!!",true); 出力サ ンプル 出力シナリオ 1 : ユーザーに表示されるメッセージ: "This is a custom error!!" 出力シナリオ 2 : ユーザーに表示されるメッセージ: "An unknown error has occurred. Please contact system administrator." エラー・ログには次のメッセージが含まれます: "This is a system error!!" 75 テンプレート適用関数 applytemplate() 概要 この関数はJSONデータを使用して、テンプレート・ファイルにトークンのキーと値のペアの セットを適用します。この関数は、既存のディクショナリ・ペイロードと共にJSONデータをサ ポートしています。. 同一のキーの ディクショナリ・ペイロードとJSONデータの両方に値が存在する場合、 JSON データがディクショナリ・ ペイロードよりも優先されます。 パラメータ templateFileLocation 文字列 テンプレート・ファイルの場所。 payload ディクショ ナリ テンプレートで定義されたトークンの値を含むペ イロード。 オプションとして、デフォルト値は null になります。 defaultErrorMessage 文字列 エラーが発生した場合、デフォルトのエラー・メ ッセージが表示されます。 オプションとして、デフォルト値は null になります。 jsonIdentifier Json テンプレートで定義されたトークンの値を含む JSON。 オプションとして、デフォルト値は null になります。 構文 String applytemplate(String templateFileLocation [, Dictionary payload [, String defaultErrorMessage [, Json jsonIdentifier]]]) 入力サ ンプル テンプレート・ファイル・テスト .txt: 4 This is user defined variable VAR1, value = {{VAR1}}. This is user defined variable VAR2, value = {{VAR2}}. This is user defined variable VAR3, value = {{VAR3}}. BML: templateFileLocation = "$BASE_PATH$/ApplytemplateTest/test.txt"; payload = dict("string"); put(payload, "VAR1", "payloadVal1"); put(payload, "VAR2", "payloadVal2"); jsonObj = json("{\"VAR2\":\"jsonVal2\",\"VAR3\":\"jsonVal3\"}"); output = applytemplate(templateFileLocation, payload, "", jsonObj); 出力サ ンプル This is user defined variable VAR1, value = payloadVal1. This is user defined variable VAR2, value = jsonVal2. This is user defined variable VAR3, value = jsonVal3. 76 BML印刷ログ 「サブスクリプション・オーダー」スクリプトで参照される関数に関連付けられたエラーを容易にデバックするため のログ・ファイルにBML印刷文書の出力を印刷します。 CPQ Cloud 管理プラットフォームの「一般サイト・オプ ション」に追加された「BML印刷ロギング使用可能」オプションを使用して、BMLで印刷文書のロギングを有効化 、または無効化することができます。 デフォルトでは、「BML印刷ロギング使用可能」は無効化されています。 「BML印刷ロギング使用可能」が有効化されている場合にエラーが発生すると、 エラー・メッセージがエラー・ロ グに記録されます。 行がエラーをスローした後のすべての印刷文書は、エラー・ログに記録されません。 この動作は、複数の印 刷文書を提供し、エラー・ログで記録されていない印刷文書を監視するすることで、スクリプトをデバッグするために使用されます。 こ れにより管理者はエラーがスローされた場所を知ることができます。 例:以下の図は、2つの印刷文書と、エラーのスローに使用されたコードの一部です。 BMLスクリプトの実行後、 エラー・ログに「開始」が含まれますが、「終了」は含まれません。 この結果、管理者は、エラーが「開始」後およ び「終了」前のどこかにスローされたと結論付けることができます。 図 47: BML印刷ログのサンプル 注意: 管理者は、「BML印刷ロギング使用可能」オプションを、本番環境では無効化してください。 Oracle社では、機密コンテンツがログに印刷されないことを推奨しています。 Oracle 社では、ログ に配置されたデータに関する責任は負いません。 主なリソース JSONデータの概要については、「www.json.org.」を参照してください。 CPQ Cloud オンライン・ヘルプ: 「Using BMLの使用」のトピックを参照してください。 77 ドキュメントデザイナの新機能 「ドキュメントデザイナ」は、文書テンプレートを作成し管理するドラッグ・アンド・ドロップ・ツールです。 CPQ Cloud 2016 R1では、「ドキュメントデザイナ」に次の新機能が導入されました。 パフォーマンス機能 フォーマットおよびスタイル機能 契約ネゴシエーション機能 パフォーマンス機能 新しいパフォーマンス機能は、テンプレートのロードや保存にかかっていた時間を削減します。以前のバージョン のCPQ Cloud では、容量の大きなテンプレートをロードするのに時間がかかり、ブラウザのタイムアウトの原因 になっていました。 「ドキュメントデザイナ」テンプレートを使用することによって、管理者はより素早くテンプレート をロードし、迅速にアクセスして編集することができるようになりました。 フォーマットおよびスタイル機能 CPQ Cloud 2016 R1では、次のフォーマットおよびスタイル機能を使用することができます。 連続したセクション 条件付き背景イメージ 列区切り要素 すべてのボタンの展開および折りたたみ ヘッダーおよびフッターの余白 表の位置 78 連続したセクション 「連続したセクション」を使用することで、 各セクション間で改ページせずに、単一の「ドキュメントデザイナ」セクシ ョンを 2つ以上の 連続したセクションに分割することができます。 連続したセクションは親セクションの子セクショ ンとして機能し、余白、ページの向き、および親セクションの背景イメージを継承します。 ドラッグすると、連続し たセクションはその親セクションと共に移動します。 親セクションと連続したセクションはセクションのヘッダーに表 示されるアイコンによって識別されます。 図48: 「親セクション」および 「連続したセクション」 CPQ Cloud 2016 R1では、「連続したセクション」プロパティは「セクション・プロパティ」パネルで使用することが できます。 「セクション・プロパティ」パネルには「ドキュメントデザイナ」テンプレートの特定のセクションをクリック することでアクセスすることができます。 「連続したセクション」チェックボックスを選択することで、選択したセク ションは前のセクションの子セクションになります。 図 49: 「連続したセクション」 のチェックボックス 79 連続したセクションについてのヒントと考慮事項 新しい「連続したセクション」機能を使用する際は、次のヒントを検討してください。 「連続」チェックボックスは、レイアウトの最初のセクションと、「ヘッダー」、「フッター」、および「目 次」要素の後のセクションに対して無効となります。 管理者は、セクションと連続したセクションの両方に、条件とループを適用することができます。 親セクションの「ループ」ダイアログまたは「条件」ダイアログで「連続したセクションに適用」チェッ クボックスが選択されている場合、連続したセクションのすべてのにループや条件が適用されま す。 図 50: 「連続したセクションに適用 」のチェックボックス(ループ用) 連続したセクションで作業する場合、ページ関連のプロパティは無効になっています。 ページ に関連していないプロパティのみ、連続したセクションで編集することができます。 セクションと連続したセクションの両方が選択されている場合、「セクション・プロパティ」パネルは どのプロパティも表示しません。 セクションの「 連続したセクション」チェックボックスが 選択されていない限り、管理者は連続し たセクションのあるセクションを削除することはできません。 80 条件付き背景イメージ CPQ Cloud 2016 R1では、「.DOCX」出力ファイルの背景イメージと、 条件付き背景イメージという、背景イメー ジに関する2つの新機能が導入されました。 いずれの場合も、管理者は背景イメージまたはドキュメント・レベ ル(ドキュメント全体)やセクション・レベル(ドキュメントの特定のセクション内)で条件付き背景イメージを設定す ることができます。 注意:背景イメージまたはドキュメント・レベルで条件付き背景イメージを設定するには、「ドキュメント・プロパテ ィ」パネルを使用します。 セクション・レベルで背景イメージまたは条件付き背景イメージを設定するには、「セク ション・プロパティ」パネルを使用します。 「ドキュメント・プロパティ」パネルと「セクション・プロパティ」パネルの両 方で、同一の「背景イメージ」領域およびボタンを使用することができます。 図 51:「 .DOCX」出力ファイルの背景イメージへの参照 「ファイル・マネージャの参照」ウィンドウを使用して、「.DOCX」出力ファイルで表示するイメージを選択します。 図 52:ファイル・マネージャの参照 管理者は、ドキュメント・レベルまたはセクション・レベルのいずれかで、条件付き背景イメージを設定することが できます。 条件が設定されると、管理者は背景イメージをテンプレートに配置し、条件に基づいてイメージを表 示、非表示、あるいは変更することができます。 81 条件は、True または False のいずれかで評価されます。 Trueの場合、「背景イメージ」領域のイメージが表示され ます。 Falseの場合、管理者は「代替背景イメージ」領域で他のイメージを指定することができます。 「代替背景イ メージ 」領域でイメージが指定されない場合、背景イメージはなにも表示されません。 条件が設定されていない 場合、 最初の領域で選択されたイメージがデフォルトの背景イメージとなります。 セクションの背景イメージが空白URLを表示する場合、ドキュメントの背景イメージのURLがその代替として表示さ れます。 例: 同一のドキュメント内に、ドキュメント・レベルで設定された背景イメージ(例:document.jpg)があり、セクショ ン・レベル(例:section.jpg)で設定された条件付き背景イメージがあるとします。「代替背景イメージ領域」では、 イメージはなにも指定されていません。 その場合、セクションの条件がTrueに設定されていると、「section.jpg」が 表示されます。 セクションの条件がFalseに設定されている場合は、「document.jpg」が表示されます。 「背景イ メージ」領域 が空白のままで、代替イメージが指定されている場合(例:alternate.jpg)は、代替イメージが表示さ れます。 条件付き背景イメージを指定するには: 1. 「ドキュメント・プロパティ」パネルを開き、ドキュメント・レベルで条件を指定します。 または、 「セクション・プロパティ」パネルを開き、セクション・レベルで条件を指定します。 2. 「背景イメージ」領域の横にある「条件」ボタンをクリックして、「条件」ダイアログを開き、条件を入力し ます。 3. 「OK」をクリックします。 図53: 条件ダイアログ 82 列区切り要素 列区切り要素は、CPQ Cloud 2016 R1で導入された新しいタイプの要素です。 セクションに1つ以上の列区切 り要素をドラッグ・アンド・ドロップして、次の列でコンテンツを開始します。 単一の列しかないセクションでは、列 区切りはページ区切りのような動作をします。 列区切り要素は「ドキュメントデザイナ」でのみ表示され、出力ド キュメントでユーザーに表示されることはありません。 「列区切り」要素は「ドキュメントデザイナ」の「要素」パネルで使用することができます。 図 54: 要素パネルの列区切り要素 注意: 列区切り要素はセクションに配置することができますが、表、セル、ヘッダーあるいはフッターに配置するこ とはできません。 83 すべてのボタンの展開および折りたたみ 「ドキュメントデザイナ・エディタ」のヘッダーにある「すべて展開」と「すべて折りたたみ」を使用すると、すべての「 ドキュメントデザイナ」レイアウトのオブジェクト(例)セクション、目次、ヘッダーおよびフッター)の展開または折り たたみができます。 図 55: 「すべて展開」ボタンと「すべて折りたたみ」ボタン 注意: いくつかのセクションがある大きなテンプレートで「すべて展開」アクションを使用すと、パフォーマン スに影響を及ぼす可能性があります。 およそ500以上のコンポーネントが含まれているセクションを展開する場合は、次の警告メッセージが表示され ます。 「一部のセクションでサポートされている要素の最大数が超過しました。 したがって、すべての要素が表 示されなくなります。 連続したセクション間の要素を再配布してください。 その後、テンプレートを保存し再ロー ドしてください。」 連続したセクションで作業する際のパフォーマンス問題を回避するため、次のヒントを検討してください。 大きいセクションを小さい連続したセクションンに分割します。 ドキュメントの一部が静的である場合、別々のファイルを作成し、コンポーネントとしてファイルを埋め こむことを検討してください。 Oracle社では、極端に大きなセクションは作成しないことを、推奨しています。 一般的なベスト・プラクティスとして、テンプレートを高い頻度で保存してください。 同時に複数のセクションを展開しないでください。 セクションの保存後および新規セクションでの作業前に、ブラウザのキャッシュをクリアしてペー ジを更新してください。 84 ヘッダーおよびフッターの余白 個別のヘッダーおよびフッターの余白領域が使用できるようになり、サブ・セクションに個別に適用できるように なりました。 「ヘッダー」および「フッター」の余白 の適用後に、セクションの上部および下部の余白が適用され ます。. 「余白」領域にアクセスするには、ヘッダーまたはヘッダーをクリックし、ヘッダーおよびフッターの「プロパティ」パ ネルを開きます。 図 56: ヘッダーの余白 注意: 「.DOCX」または「PDF」タイプで、左右のヘッダーおよびフッターの余白が左右のページ余白と異 なる出力ファイルを印刷する際は、 ヘッダーおよびフッターの余白とページ余白の代わりにセクションの左 右の余白が適用されます。 表の位置 ページ幅を基準にして表を左揃え、中央揃え、右揃えすることで、表配置の変更をすることができます。 デフォ ルトでは、表は左揃えになっています。 複数の表が選択されている場合、 選択された表の位置 オプションがす べての表に適用されます。 新しい「表の位置」プロパティは、「表」プロパティの下位にある「要素」パネルで使用 することができます。 図 57: 表の位置 85 契約ネゴシエーション機 能 次の CPQ Cloud 2016 R1の 「ドキュメントデザイナ」機能は、2016 R1リリースで導入された「契約ネゴシエーシ ョン」機能をサポートします。 「契約ネゴシエーション」をサポートする設計でありながら、ユーザーのCPQサイト で「契約ネゴシエーション」が有効な場合は、どの「ドキュメントデザイナ」テンプレートにでも次の「ドキュメントデ ザイナ」機能を加えることができます。 この機能の詳細は、このドキュメントにある「 契約ネゴシエーション」のセ クションを参照してください。 変更履歴機能: ユーザーが「.DOCX」出力ファイルでMicrosoft Word の変更履歴機能を活用で きるようにします。 「変更履歴」機能は、「ドキュメントデザイナ」の「ドキュメント・プロパティ」ペイン にある「変更履歴」チェックボックスを選択すると、「.DOCX」出力ファイルで使用できるようになりま す。 図 58: 偏向履歴チェックボックス 電子署名ベンダー: DocuSignと連携し、テキスト内または「ドキュメントデザイナ」テンプレートのセ クション、表、ヘッダーまたはフッターにあるテキストあるいはヘッダー要素内に電子署名タグ属性を 配置します。 86 注意: CPQ Cloud 2016 R1で使用できる「契約ネゴシエーション」機能に関する詳細については、この ドキュメントの「契約ネゴシエーション」セクションを参照してください。 有効化の手順 CPQ Cloud 2016 R1の「ドキュメントデザイナ」機能は、CPQ Cloud 2016 R1サイトで自動的に使用できるよう になります。 既知の問題 「ドキュメントデザイナ」で作業する際は次の既知の問題について検討してください。 セクションに多数の要素(例:テキスト要素、イメージ、表セルなど)が含まれている場合、検索結 果に問題が生じることがあります。 ベスト・プラクティスとして、各セクション内の要素の数は300 以内を保持してください。 サポートされている要素の数が最大数を超えた場合、警告メッセージが表示され、「エディタ」で 要素の部分的なリストのみが使用可能になります。 「コピー」ボタンをクリックすると、「エディタ」 に表示されている要素のみがコピーされます。 コピーされたセクションがその後ドキュメントに ペーストされると、すでに表示された警告メッセージが表示されます。 属性がテキスト要素に追加され、属性がその後CPQ Cloudの(「管理」>「コマースおよびドキュメ ント」>「プロセス定義」)の「プロセス定義」領域から削除された場合、テキスト要素上での初め のエラー・メッセージが表示されなくなります。 その後ドキュメントが再度開かれた場合、テキス ト要素にエラー・メッセージが表示されます。 「ドキュメントデザイナ」テンプレートが開かれている間に「コマース」属性が削除された場合、検証エ ラーは表示されず、テンプレートに加えられた変更履歴はそのまま保存されます。 テンプレートが再 ロードされると、検証エラーはその後表示されます。 主なリソース CPQ Cloud オンライン・ヘルプで、 「ドキュメントデザイナ」トピックを参照してください。 87 長時間実行スレッド診断 長時間実行スレッド診断では、管理者がパフォーマンスの問題を区別し解決するための様々なツールを用意し ています。 管理者はこの機能の使用に先だち、長時間実行アクションを終了するために全体のサイトをシャット ・ダウンし、再起動する必要があります。 すべての「コマース」および「構成」アクションに対し、このカスタマイズ 可能な時間しきい値を超える長時間実行要件の診断を使用することができます。 タイムアウト処理には、「強制 終了およびログ」、「ログのみ」、「処理なし」の3つの設定があります。 タイムアウト処理の設定 次の表は、タイムアウト処理の各設定に実行される処理ををまとめたものです。 タイムアウト処理 強制終了およびログ 強制終了 要件 エラーメッセー ジの表示 ログのみ スロー・スレッド・ロ グに送信済イベント パフォーマンス・ロ グに送信済イベント 処理なし 例えば、「時間のしきい値」を超える処理と「タイムアウト処理」が「強制終了およびログ」である場合、システムは次 の処理を実行します。 「強制終了処理」要件の送信 「スロー・スレッド・ログ」にイベントを記録 「パフォーマンス・ログ」にイベントを記録 処理が開始されたページでエラー・メッセ―ジを表示 図 59: 長時間実行スレッドの診断のエラー・メッセージ 注意: システムが「強制終了要件」を送信した場合、終了する処理は長時間処理の割り込み可能時点の待機 をします。 88 ログの表示 システムは「パフォーマンス・ログ」および「スロー・スレッド・ログ」のイベントを記録して、管理者のトラブルシ ョーティングを支援します。 処理が「タイムアウトしきい値」を超過した場合や、「タイムアウト処理」が「強制 終了」、「ログ」または「ログのみ」に設定されている場合、イベント・ロギングが発生します。 パフォーマンス・ログ 「パフォーマンス・ログ」で、システム・パフォーマンスの全体的なスナップショットを確認することができます。 管理 者は「開発ツール」セクションにある「管理ホーム」ページで「パフォーマンス・ログ」を使用することができます。 図 60: 「パフォーマンス・ログ」 89 スロー・スレッド・ログ 「スロー・スレッド・ログ」ファイルを使用すると、エラーに関する詳細情報を確認することができます 。 スロー・ス レッド・ログを表示するには: 1. 「管理」をクリックして「管理ホーム」ページへ移動します。 2. 「開発ツール」セクションにある「エラー・ログ」をクリックします。 3. 「slow_thread_executions.log」をクリックします。 図 61: スロー・スレッド・ログ 90 タイムアウト処理の設定 長時間実行スレッド・ダイアログは、「コマース設定」ページおよび「構成設定」ページで設定することができます。 これらのページの長時間実行スレッド・ダイアログで、これらのそれぞれの領域におけるすべての処理を制御する ことができます。 デフォルトの「タイムアウト処理」の設定は「ログのみ」で、「タイムアウトしきい値」は「2分」に設 定されています。 コマース・タイムアウト処理の設定 管理者は「コマース・オプション」のページで、すべての「コマース」処理に対して「タイムアウト処理」および「タイ ムアウトしきい値」を設定することができます。 図 62: コマース・タイムアウト処理 さらに管理者は、個別の「コマース」処理における「タイムアウトしきい値」を設定することができます。 特定の「コ マース」処理「タイムアウトしきい値」の設定は、一般の「コマース」設定よりも優先されます。 これにより管理者は 、それぞれの「コマース」処理におけるパフォーマンス問題を区別することができます。 図 63: 個別のコマース処理タイムアウト 91 構成タイムアウト処理の設定 管理者は「構成オプション」ページで、すべての「構成」処理に対して「タイムアウト処理」および「タイムアウトしきい 値」を設定することができます。 図 64: 構成タイムアウト処理 有効化の手順 「長時間実行スレッド・ダイアログ」は、すべての2016 R1サイトで使用することができます。 主なリソース CPQ Cloud オンライン・ヘルプで、「構成設定」、「コマース・プロセス設定」および「長時間実行スレッド・ダイアロ グ」のトピックスを参照してください。 92 連携 CPQ Cloud管理者は、CPQ Cloud と他のソフトウェア・アプリケーションを連携させ、その特性を活用するこ とができます。 CPQ Cloud管理者は、搭載済ソリューションのようなこれらのポイント・ツー・ポイントの連携 ソリューションを使用するか、既存のパターンを強化することで、特異的な情報テクノロジの状況や要件に対 応することができます。 以下は、CPQ Cloud 2016 R1で使用することのできる新しい連携機能です。 SALESFORCE1 連携 CPQ CLOUD と EBUSINESS SUITE (EBS)BOM参照の連携 PROCESS CLOUD SERVICE (PCS)連携 Rest API PLATFORM AS A SERVICE(PAAS)連携のサンプル・アプリケーション SALESFORCE1 連携 Salesforce のSalesforce1モバイル製品は、CPQ Cloud 2016 R1でサポートされている新しいモバイル規格に 対応しています。 管理者は「Salesforce Commerce Integration Managed Package」を使用して、CPQ Cloud モバイル・ユーザー・インターフェースと Salesforce1 モバイル・ユーザー・インターフェースを連携することができ ます。 この連携により、モバイル・デバイスにおける CPQ Cloud と Salesforce 間のデスクトップ連携の既存の 機能の全てがサポートされます。 Salesforce1連携は、最新のカスケード・スタイル・シート(CSS)を含む Salesforce Reference Application にパッケージされています。 これにより、CPQモバイル・エクスペリエンスの 外観はいっそう Salesforce1 に近いものとなりました。 注意:Salesforce1 統合は、CPQ Cloud と Salesforce 間のデスクトップ統合には影響を及ぼしません。 Salesforce Commerce Integration Managed Packageは、モバイル統合とデスクトップ統合の両方をサポート します。 有効化の手順 Salesforce Commerce Integration Managed Packageは、CPQ Cloud との連携のためにSalesforceにインス トールされています。 Salesforce Commerce Integration Managed Package のVersion 7.0は、Salesforce1 をサポートしています。 CPQ Cloud モバイル・ユーザー・インターフェースをSalesforce1 モバイル・ユーザー・イ ンターフェースと連携する方法については、「Oracle CPQ Cloud − Salesforce Commerce Integration Managed Package 実装ガイド」のバージョン7.0 を参照してください。 93 ヒントと考慮事項 Salesforce1 連携の使用の際は、以下のヒントを検討してください。 iPad ユーザーがSaleforce1 を使用して見積もりを作成する場合、Salesforce1 アプリケーションの Oracle CPQ Cloud 内での見積印刷や、PDFやWord ファイルを開くことができます。 ただし、 Salesforce1 のプラットフォームに制限があるため、同じ作業を Android のデバイスでは行うことが できません。 Android デバイスで見積から「印刷」オプションが選択された場合、システムはファイル をダウンロードし、ブラウザで開こうとします。 ブラウザは個別のアプリケーションであり、 Salesforce1 の認証は動作せず、そのためドキュメントを表示することはできません。 お客様は、 Android デバイスでユーザーに Eメール動作を介してドキュメントを送信することで、この問題を回 避することができます。 Salesforce1モバイル・アプリケーションから「新規」ボタンをクリックして新しい見積を作成し、それ から「キャンセル」ボタンをクリックして見積をキャンセルすると、「Oracle Quotes and Orders」ペ ージではなく「Salesforce1 Home」ページまたは空白のページが表示されることがあります。 Android デバイスで Salesforce1 アプリケーションを使用する場合、CPQ Cloud の見積へのナビ ゲートの際に空白のページが表示されます。 このSalesforce1 の問題の回避策として、Saleforce1 の初期インストールの際に次の手順を完了してください。 o o o 「設定」 > 「アプリケーション」> 「アプリケーション・マネージャー」 > 「SF1 アプリケーション」に移 動します。 「ストレージの管理」をクリックします。 「Yes」をクリックして現在のユーザーをログアウトします。 再ログインすると問題が解決され、ユーザーは Android デバイスからCPQ Cloud の見積へ正常に移動 することができます。 注意: サポートされている「デバイス」、「オペレーティング・システム」、「ブラウザ」については、「Oracle CPQ Cloud Salesforce Commerce Integration Managed Package version 7.0 実装ガイド 」を参照して ください。 主なリソース Salesforce Reference Application: Salesforce Reference Application は、Salesforce と Salesforce1 の両方に適用されます。 Salesforce1: モバイル・デバイスで Salesforce を使用するには、Salesforce1へアップグレードしてく ださい。 Salesforce Commerce Integration Managed Package version 7.0: CPQ Cloud モバイル・ユ ーザー・インターフェースを Salesforce1 モバイル・ユーザー・インターフェースと連携するには、 Salesforce Commerce Integration Managed Packageのバージョン7をインストールしてくださ い。 Oracle - CPQ Cloud Salesforce Commerce Integration Managed Package version 7.0 実 装ガイド: 追加の実装についての情報が記載された実装ガイドを参照して下さい 94 CPQ CLOUD と EBUSINESS SUITE (EBS)BOM参照の連携 CPQ Cloud 2015 R1で導入されたOracle eBusiness Suite (EBS)連携により、共通のCPQ Cloud相互作用す るための 「EBS Customer」、「EBS Order Management」、 「EBS Inventory On Hand Balance」、「 EBS Material Reservation」への直接連携ができるようになりました。 CPQ Cloud 2016 R1では、複数レベルの「部 品構成表(BOM)」のサポートができるよう EBS連携が強化されています。 「EBS Customer」と「EBS Order Management」によるCPQ Cloud連携には、「EBS BOM参照の連携」の実装が必要になります。 有効化の手順 CPQ Cloud CPQ Cloud の実装 : ベースに「参照アプリケーション」がデプロイされ、「BOMマッピング」ルー ルが実装されている、すべての2016 R1 以降のCPQ Cloudサイトにおける「EBS参照連携」。詳 細な情報については「部品構成表(BOM)マッピング」セクションを参照してください。 「EBS連携」用の「移行パッケージ」がリリースされるため、管理者はCPQ Cloud に直接実装する ために必要なコンポ―ネントをダウンロードすることができます。 E-Business Suite CPQ Cloud と連携するために、それぞれのEBSアプリケーションで EBS リリース12 あるいはそれ以降のバー ジョンを使用することが必要です。 また、連携を有効化するためにはEBS SOAP Webサービスの実行も必要 になります。 これらのWebサービスの有効化には、EBS環境での「Internet Service Gateway (ISG)」の実行 が必要になります。 必要となるEBS Webサービス・リスト一式については、「CPQ Cloud-EBS Integration 実 装ガイド (「主なリソース」セクション)」を参照してください。 95 ヒントと考慮事項 CPQ Cloud と EBS BOM の連携を使用する際は、次のヒントを検討してください。 ベースの「参照アプリケーション」をデプロイしていないCPQ Cloud の既存のお客様でも、CPQ Cloud を EBSに連携することができます。 ただし、使用中のサイトに連携コンポーネントを適用するために、追加の 実装設定が必要になります。 この詳細情報に関しては、担当の「カスタマ・サクセス・マネージャ」にお問い 合わせください。 主なリソース CPQ Cloud と EBSの連携実装を支援するため、「My Oracle Support 」には次のドキュメントを用意しています。 CPQ Cloud & E-Business Suite 連携実装の概要 CPQ-EBS 連携実装ガイド BOMマッピング実装ガイド 96 PROCESS CLOUD SERVICE (PCS)連携 CPQ Cloud では、管理者が複雑な承認フローを定義するためのネイティブ・ワークフロー管理機能を用意してい ます。 ただしお客様は、すべての承認を統一するために、Oracle Process Cloud Service(PCS)、または Salesforce Approval Processes などの単一のワークフロー・エンジンで、リモート承認システムを使用すること もできます。 これらのリモート・アプリケーションには、アプリケーション・スイート全体の承認を管理する共通の設 定や共通の属性があり、承認データをシステムから別のシステムへと移行するプロセスを省くことができます。 お客様がリモート承認を選択する場合は、承認要件が外部の承認システムに送信され処理されます。 承認が完了 すると、関連付けられた承認または却下の処理がリモート承認システムで実行されます。 リモート承認システム が適切な「CPQ REST エンドポイント」(承認または却下)を呼び出し、CPQ見積履歴とステータスを更新します。 事前構築PCSフローの活用に先立ち、PCS および CPQ Cloud 間の接続を確立する必要があります。これらの 接続の設定方法についての情報は、「CPQ Cloud および PCS間の連携実装ガイド」を参照してください。 「リモート承認システム」システムは、次の場合に「承認処理」を実行します。 またはその他の承認サービスが設定されている場合。 リモート承認シークエンスが有効化されている場合。 リモート承認プロセス機能が定義されている場合。 ユーザーが承認のための「見積」を送信する場合。 97 承認処理の概要 次の表は承認フロー処理の違いと、ネイティブな「CPQ承認フロー」を使用した場合の「リモート承認フロー」と比 較した動作結果をまとめたものです。 CPQ 承認フローの要約 CPQ承認フロー 送信 要件処理が内部で呼び出されます。 事由グラフが評価され、事由が送信者に提示されま す。 送信者は承認者にどんなコメントでも転送することができます。 承認 承認者に承認が必要なことが通知されます。承認者は承認または却下の処理をします 。 承認者の数は、定義された事由グラフによって決まります。 最終承 認 見積が承認された場合、最後の承認者の承認後に、承認されたステージに見積を移行す るために社内の送信処理が起動します。 見積が却下された場合、承認ステータスが却下に変更され、見積は保存されたステ ータスに戻されます。 改訂 プロセス全体をリセットします。 リモート承認フローの要約 リモート承認フロー 送信 要件処理が内部で呼び出されます。 BMLがリモート承認システムと通信するために実行され、レスポンスが解析され、リモ ート・プロセスIDが属性として保存されます。 承認 承認プロセスが完了すると、リモート承認システムが対応するCPQにRESTコールの承認ま たは却下の処理を実行させます。 最終承 認 BMLが承認または却下の処理から実行され、リモート承認システムに承認履歴データの記 改訂 BMLがプロセスをキャンセルまたは中断するためにリモート承認システムとの通信を実行 録をします。このデータはCPQ承認履歴に挿入され、プロセスは完了します。 し、「リモート・プロセスID」がリセットされます。 プロセス全体をリセットします。 98 承認シークエンスの選択 処理を送信するための「承認シークエンス」の選択が「管理者処理」ページに追加されました。 管理者は「リモート 使用」を選択して、リモート承認シークエンスを有効化してください。 図 65:リモート承認シークエンスの有効化 注意: ユーザーが、「承認の使用」を選択することによってリモート承認シークエンスを無効化した場合、リモー ト承認に紐付けされたいかなる「統合プロセス」も実行できなくなります。 これらのプロセスは同様に事実上無 効となります。 リモート承認プロセスの関数 リモート承認が有効化されている場合、リモート承認サイトへ実行されるコールを定義するための「リモート・コー ル処理」に「関数の定義」ボタンが表示されます。 管理者は、「リモート承認の要求」、「承認」、および「否認」の ためのBML関数を設定する必要があります。 設定は、CPQの改訂と同様のプロセス・フローを使用する「改訂」 には必要ありません。 承認の要求 : 管理者は承認プロセスを開始し、レスポンスを解析し、「プロセスID」を返す ために、「リモート承認システム」にコールを送信するためのBMLを書込みます。 作成され た関数はランタイムに実行されます。 関数の作成に失敗すると、ランタイムにエラーがスロ ーされます。 承認および却下: 管理者は承認履歴を取込み、チルド区切り文字列でそれを返すために 、「リモート承認システム」にコールを送信するためのBMLを書込みます。関数の作成に失 敗すると、承認履歴を更新せずに承認プロセスを完了します。 99 注意: 「CPQ Cloud - PCS 実装ガイド」を参照し、ベスト・プラクティスとBML関数の構築方法について 確認してください。 ガイドは「My Oracle Support.」で参照してください。 図 66: リモート・コール処理 - 関数の定義 有効化の手順 実装方法の詳細については、「CPQ Cloud - PCS 実装ガイド」を参照してください。 ヒントと考慮事項 PCSとの連携は、Oracle CPQ Cloud 2016 R1またはそれ以降のバージョンで行ってください。 注意: リモート承認機能を使用する場合は、承認を開始するためにREST/SOAP Web サービスを使用しない でください。 リモート承認シークエンスはREST/SOAP Web サービスで承認を開始するサポートを行っていま せん。 CPQ Cloud に承認ステータスを通知するためのWebサポートされているのは、「REST エンドポイント 」サブ処理の承認および却下のRESTオブジェクトのみです。 主なリソース CPQ-PCS Integration Implementation Guide: リモート承認およびCPQ CloudとPCSの連携の実装方法の概要 を説明するガイドです。 100 REST API Oracle社はCPQ 2016 R1でも引き続き、お客様に権限を付与するためにREST API および RESTful 規格によ るオブジェクトを公開し、お客様のCPQ Cloud 実装機能のパワフルな強化に取り組んでいます。 これらのサー ビスはHTTP基準を使用したシンプルなAPIコールと堅牢な連携を促進します。 CPQ Cloud 2016 R1 で使用す ることができる新しいAPIでは、「契約ネゴシエーション」と「サブスクリプション・オーダー」のための新機能を用意 しています。 契約ネゴシエーションのREST API DOCX の比較 : 2つの「契約DOCXドキュメント」を比較し、再リストを返します。 DOCX のマージ: 「契約」に承認された変更をマージします。 サブスクリプション・オーダーの REST API 「資産のCRUDサービス」は資産保守の処理で構成されています。 「カスタム操作のエクスポート」はCSVファイルをアップロードし、資産オブジェクト・ファイルにデ ータをインポートするための処理で構成されています。 「カスタム操作の同期」は、階層コンテンツでペイロード編集を同期します。 「カスタム操作のエクスポート」は資産オブジェクトをエクスポートし取得するための処理で構成され ています。 クエリ・パラメータの機能教科 - q パラメータ用の拡張パラメータとLIKE演算子($like)サポートの追加情報を記 載しています。 101 インタフェース・カタログ すべてのCPQ Cloud SOAP および REST サービスのドキュメントは、「管理 > 統合プラットフォーム > インタフェ ース・カタログ 」から「インタフェース・カタログ 」ページにアクセスして入手することができます。 図 67: インタフェース・カタログ・ページ REST API エンドポイント 各 REST API のエンドポイントが「 http://{siteurl}, 」に追加されました。 {siteurl}は、CPQ Cloud サ イトのベースURLになります。. 102 契約ネゴシエーションのREST API このセクションでは「DOCX の比較」および 「DOCXのマージ」 のREST APIについて説明します。 DOCXの比較 REST API DOCX の比較 概要 この操作は「ドキュメントデザイナ」で作成された2つの「契約 DOCX」ドキュメントを 比較し、変更された条項のリストを返し舞ます。 URIエンドポイント /rest/v2/docxCompare パラメータ processId コマース・プロセスのID transactionId トランザクションのID oldDocAttachId 旧ドキュメントの添付ファイルのID newDocAttachId 新規ドキュメントの添付ファイルのID HTTP方式 POST レスポン clauseId 変更された条項のID スの差分 type 変更タイプの列挙値。例:「変更済」 clause label 変更された条項のラベル parentlabel 親条項のラベル reviewed Wordで承認されている変更 action 「タイプ」の英語ラベル。例:「Updated」 (JSON オブジェクト の配列) レスポンスのサンプ { ル "diffs": [ { "clauseId": "123456", "type": "MODIFIED", "clauselabel": "Clause "parentlabel": "Parent "reviewed": "Y", "action": "Updated" }, { "clauseId": "123789", "type": "MODIFIED", "clauselabel": "Clause "parentlabel": "Parent "reviewed": "Y", "action": "Updated" } ] A Name", Clause Name", B Name", Clause Name", } 103 DOCXのマージ REST API DOCX のマージ 概要 この操作は、承認された変更のリストと別の契約ドキュメントをソースとして使用 し、「契約DOCX」ドキュメントに変更をマージします。更新されたドキュメントは Base64文字列として返されます。 URIエンド・ポイント /rest/v2/docxMerge パラメータ processId コマース・プロセスのID transactionId トランザクションのID sourceFileAttachId ソース・ドキュメントの添付ファイルのID targetFileAttachId マージ・ターゲット・ドキュメントの添付ファイルのID approvedChanges 適用される変更の配列 HTTP方式 POST レスポンス errors エラー・メッセージの配列 base64Doc base64文字列ドキュメント サブスクリプション・オーダーの REST API CPQ Cloudは、REST APIを使用して資産データを公開します。 「資産REST API」は、作成、読み取り、更新、 および削除(CRUD)操作をサポートしています。 それらはまた、同期、インポート、およびエクスポート操作を提 供します。 CRUD 操作: 資産リスト取得 (GET) | 資産取得 (GET) | 資産作成 (POST) | 資産更 新 (POST) | 資産削除 (DELETE) カスタム操作の同期化 カスタム・インポート操作は CSVファイルをアップロードし、資産オブジェクト・ファイルにデー タをインポートします。ファイルのアップロード | インポート処理| インポート・ログ・ファイル 取得 カスタム・エクスポート操作 は資産オブジェクトをエクスポートし取 得します。 エクスポート処理 | エクスポート・ファイルの取得 104 資産リスト取得 REST API 資産リスト取得 (GET) 概要 この操作はすべの資産データを返します。 URIエンドポイント /rest/v2/assets パラメータ なし CPQ Cloud クエリ―およびページ区切りのパラメータ構文に続くクエリ―の設定 情報と、MongoDB構文のサブセットに続くクエリ―の設定情報は、戻りデータを 構造化し削減することができます。 詳細については、CPQ Cloud オンライン・ヘルプで「クエリ―の設定情報 構文」の記事を参照してください。. HTTP方式 GET 正常なレスポンス すべての資産のJSON データ リクエスト・ペイロード例 なし(リクエスト・ペイロードはなしにしてください) 注意事項 資産オブジェクトからJSON形式で、すべての属性を返します。 「通貨キーおよび外部キー(FK)」属性を 複合属性として返します。 複合 属性の例は、「 資産作成 REST API 」を参照してください。 資産取得 RES API 資産取得 (GET) 概要 特定の資産の資産データを返します。 URIエンドポイント /rest/v2/assets/{id} パラメータ {id} 資産の固有ID CPQ Cloud クエリ―およびページ区切りのパラメータ構文に続くクエリ―の設定 情報と、MongoDB構文のサブセットに続くクエリ―の設定情報は、戻りデータを 構造化し削減することができます。 詳細については、CPQ Cloud オンライン・ヘルプで「クエリ―の設定情報 構文」の記事を参照してください HTTP方式 GET 正常なレスポンス 資産のJSON データ リクエスト・ペイロード例 None 注意事項 資産オブジェクトからJSON形式で、すべての属性を返します。 「通貨キーおよび外部キー(FK)」属性を 複合属性として返します。 複合 属性の例は、「 資産作成 REST API 」を参照してください。 105 資産作成 REST API 資産作成 (POST) 概要 この操作は新規資産を作成します。 URIエンドポイント /rest/v2/assets パラメータ なし HTTP方式 POST 正常なレスポンス 新規資産のJSONデータの作成。 リクエスト・ペイ ロード例 { "partNumber": "part1", "quantity": "1.0", "displayKey": "display-100-2-1234", "customer": "SpecialAccount100", "assetKey": "abo_ae100", "discountPercent": "5.0", "discountAmount": { "currency": "USD", "value": 15.0 }, "currency": { "currencyCode": "USD" }, "fixedRecurringAmount": { "currency": "USD", "value": 50.00 }, "oneTimeNetAmount": { "currency": "USD", "value": 300.00 } } 注意事項 「通貨」は「外部キー(FK)」属性です。 予測される入力タイプは「複合」です。 「通貨」属性の復号タイプ値の例: discountAmount、 fixedRecurringAmount、oneTimeNetAmount 106 資産更新 REST API 資産更新 (POST) 概要 この操作は既存の資産を更新します。 URIエンドポイント /rest/v2/assets/{id} パラメータ {id} の固有IDHTTP方式 POST 正常なレスポンス 更新された資産のJSONデータの作成。 リクエスト・ペイロード例 { 更新する「資産」の固有ID "partNumber": "part1", "quantity": "1.0", "displayKey": "display-100-2-1234", "customer": "SpecialAccount100", "assetKey": "abo_ae100", "discountPercent": "5.0", "discountAmount": { "currency": "USD", "value": 15.0 }, "currency": { "currencyCode": "USD" }, "fixedRecurringAmount": { "currency": "USD", "value": 50.00 }, "oneTimeNetAmount": { "currency": "USD", "value": 300.00 } } 資産削除 REST API 資産削除 (DELETE) 概要 この操作は既存の資産を削除します。 URIエンドポイント /rest/v2/assets/{id} パラメータ {id} HTTP方式 DELETE 正常なレスポンス HTTP 200 OK 削除する「資産」の固有ID 107 同期化 REST API カスタム操作の同期化 概要 この操作は 階層コンテンツを編集するペイロードを使用して、「同期化」処 理を呼び出します。 URIエンドポイント /rest/v2/assets/actions/synchronize 入力 ペイロード ・パラメータ Documents タイプ: JSON 行またはコレクションを保持します。 各行にはオプションの“_sync_action” 操作パラメータを含めることができます。 _client_driven_action タイプ: ブール ターゲット資産オブジェクトの置換する代わりに変更の適用を有効にし ます。 現在はこのパラメータは「True」に設定する必要があります。 出力 ペイロード パラメータ Documents タイプ: JSON 行またはコレクションを保持します。 各行にはオプションの“_sync_action” 操作パラメータを含めることができます。 HTTP方式 POST 正常なレスポンス 更新された「資産オブジェクト」のJSON データ リクエスト・ペイロード例 リクエスト・ペイロードの同期例 レスポンス・ペイロード例 レスポンス・ペイロードの同期例 注意事項 コレクションの更新時、ターゲット資産の行を参照するにはユーザー・ キーを利用します。 「_sync_action 」パラメータは、追加値、変更値、および削除値をサポートし ます。 「_sync_status」 パラメータ値 には作成済と更新済が含まれます。 入力 ペイロードの各行に追加された「_proxy_id」 パラメータは、パラメ ータの相互参照を有効にします。 レスポンス・ ペイロード には削除済のオブジェクトや資産は含まれません。 108 リクエスト・ペイロードの同期例: { "_client_driven_action": true, "documents": { "items": [ { "assetKey": "root_L1", "partNumber": "part1_update", "_proxy_id": "11", "_sync_action": "update", "childAssets": { "items": [ { "assetKey": "child_L2", "partNumber": "part2_update", "_proxy_id": "1", "_sync_action": "update", "childAssets": { "items": [ { "assetKey": "child_child_L3_1", "partNumber": "part3_update", "_proxy_id": "2", "_sync_action": "update" }, { "assetKey": "child_child_L3_2", "_proxy_id": "3", "_sync_action": "delete" }, { "assetKey": "child_child_L3_3", "partNumber": "part5", "customer": "SpecialAccount100", "displayKey": "display-100-2-1234", "_proxy_id": "4", "_sync_action": "create" } ] } } ] } } ] } } 109 レスポンス・ペイロードの同期例: { "_client_driven_action": true, "documents": { "items": [ { "assetKey": "root_L1", "partNumber": "part1_update", "_proxy_id": "11", "_sync_action": "update", "childAssets": { "items": [ { "assetKey": "child_L2", "partNumber": "part2_update", "_proxy_id": "1", "_sync_action": "update", "childAssets": { "items": [ { "assetKey": "child_child_L3_1", "partNumber": "part3_update", "_proxy_id": "2", "_sync_action": "update" }, { "assetKey": "child_child_L3_2", "_proxy_id": "3", "_sync_action": "delete" }, { "assetKey": "child_child_L3_3", "partNumber": "part5", "customer": "SpecialAccount100", "displayKey": "display-100-2-1234", "_proxy_id": "4", "_sync_action": "create" } ] } } ] } } ] } } 110 カスタム・エクスポート操作 次の処理では、CSVファイルにアセット・コレクションや単一のインスタンスをエクスポートし、結果を取得する機 能を提供します。 エクスポート処理 REST API は、CSVファイルにアセット・コレクションや単一のインスタンスをエクスポ ートします。 エクスポート・ファイルの取得 REST API は、ブラウザ上でダウンロードしたCSVファイルを取得します 。 エクスポート処理 REST API エクスポート処理 概要 この操作は、CSVファイルに資産のコレクションまたは単一のインスタン スをエクスポートするエクスポート処理を呼び出します。 これはオブジェ クト属性を、列ヘッダーとドット表記のあるキー属性としてエクスポートし ます。 URI エンドポイント /rest/v2/assets/actions/export 入力 ペイロード ・パラメータ Criteria タイプ: JSON 資産のコレクションまたは単一インスタンスの行をエクスポートするための要 件。 出力 ペイロード・ パラメータ exportedFileName タイプ: JSON このパラメータには、CSVファイルを取得するために、連続した呼び出しで 使用されるJSON制御ファイルへの絶対パスが含まれています。 HTTP方式 POST 正常なレスポンス 制御ファイルの絶対パスのJSONデータ。 URI エンドポイント例 /rest/v2/assets/actions/export /rest/v2/assets/{$asset_id}/actions/export リクエスト・ペイロード例 レスポンス・ペイロード例 { "criteria":{ "fields":["assetKey","displayKey"], "orderby":["assetKey:desc"], "q":"{assetKey:{$eq: 'asdfgh'}}" } } 資産オブジェクトのJSON データ 111 エクスポート処理 注意事項 単一の資産インスタンスをエクスポートする場合、インスタンスのユーザー・ キーを使用してください。 このAPIは、CSV形式のみをサポートしています。 エクスポートは「外部キー(FK)」属性に対しドット表記を使用します。 例えば、資産オブジェクトには「rootAsset」と呼ばれるFK属性がありま す。 この資産からデータを問合せる場合、RESTサービスが「rootAsset 」属性のJSONオブジェクトを返します。JSONオブジェクトには、IDと「 rootAsset」オブジェクトの「AssetKey」が含まれています。エクスポート 操作は「rootAsset.id,rootAsset.assetKey」として、これらの属性をエクス ポートします。 エクスポートは「通貨」属性にもドット表記を使用します。 例えば、資産オブジェクトには「discountAmount」と呼ばれる「通貨」属性 があります。 この資産からデータを問い合わせる場合、RESTサービス が、「discountAmount」属性に対しJSONオブジェクトを返します。 JSONオブジェクトには、「discountAmount」属性の値と通貨が含まれて います。エクスポート操作は「discountAmount.value、 discountAmount.currency」として、これらの属性をエクスポートします。 エクスポートはLOVに対してもドット表記を使用します。 エクスポート・ファイルの取得 REST API エクスポート・ファイルの取得 概要 この操作はGETコールを開始して、ブラウザ上にダウンロードしたCSVフ ァイルを取得します。 URIエンドポイント /rest/v2/files/fileName パラメータ fileName このパラメータには、エクスポート・コール・レスポンスからの制御フ ァイル名が含まれています。 HTTP方式 GET 正常なレスポンス データのあるCSVファイル Sample URIエンドポイント /rest/v2/files/assets_1464387178004 リクエスト・ペイロード例 なし レスポンス・ペイロード例 エクスポートされた「資産CSV」データ・ファイルを参照してください。 注意事項 これらのコールがユーザー・アクセスの検証を行うため、同じユーザーがエク スポートとファイル取得コールを実行する必要があります。 112 カスタム・インポート操作 ファイルのアップロード操作 は、CSVファイルを アップロードし、インポートに使用される制御ファイ ルを返します。 インポート処理 REST APIは、特定のリソースに対しデータを変更する、アップロードされたCSVファ イルをインポートします。 これは、追加、変更、および削除の操作をサポートしています。 インポート・ログ・ファイル取得 REST APIは、インポート・ログ・ファイルを取得します。 ファイルのアップロード操作 REST API ファイルのアップロード操作 概要 この操作では、ユーザーのファイル・システムからファイルをアップロー ドするPOSTコールを呼び出します。 インポート処理に対して使用され る制御ファイルを返します。 URI エンドポイント /rest/v2/files File パラメータ attachment CSVファイル Header content-disposition Media-type application-JSON/octet-stream HTTP方式 POST 正常なレスポンス レスポンスは、ユーザー情報およびインポートするCSVへの絶対パスを含む 制御ファイルへの絶対パスを提供します。 URI エンドポイント例 /rest/v2/files/ リクエスト・ペイロード例 CSV ファイル レスポンス・ペイロード例 /rest/v2/files/upload_1465847155416 注意事項 インポートCSVファイルには、実行する処理を指定する「_sync_action」と いう列が含まれている必要があります。 CSVファイルにこの列が含まれ ていない場合は、デフォルトのアップサート処理が使用されます。 「外部キーFK」属性を表すドット表記を使用してください。 例えば、資産オブジェクトには「rootAsset」と呼ばれるFK属性があります。イ ンポート操作は、これらの属性を「rootAsset.id、rootAsset.assetKey」としてイン ポートする必要があります 「通貨」属性を表すドット表記を使用してください。例えば資産には「 discountAmount」と呼ばれる「通貨」属性があります。インポート操作はこれ らの属性を「discountAmount.value、discountAmount.currency」としてインポ ートする必長があります。 LOVを表すドット表記を使用してください。 113 インポート処理 REST API インポート処理 概要 操作はインポート処理を呼び出してアップロードしたCSVを処理し、指定の 場所にデータをインポートします。 作成、更新、および削除操作をサポー トしています。 URIエンドポイント /rest/v2/assets/actions/import 入力 ペイロード パラメータ fileName 前のコールのレスポンスの rest リンクから抽出されたファイル名。 出力 ペイロード パラメータ importLogFileName このパラメータには、ユーザー・情報とログ・ファイルへの絶対パスが 含まれている制御ファイルへの絶対パスが含まれています。 HTTP方式 POST 正常なレスポンス ユーザー情報とログ・ファイルへの絶対パスが含まれている制御ファイ ルへの絶対パス。 URIエンドポイント例 /rest/v2/assets/actions/import リクエスト・ペイロード例 { "fileName":"upload_1465847155416" } { レスポンス・ペイロード例 "importLogFileName": "https://cpq072.us.oracle.com /rest/v2/files/assets_output_1465848183346" } 114 インポート・ログ・ファイル取得 REST API インポート・ログ・ファイル取得 概要 「GET」コールを呼び出して実際のインポート・ログ・ファイルを取得します。 URIエンドポイント /rest/v2/files/fileName パラメータ fileName HTTP方式 GET 正常なレスポンス 各行のインポート・ステータス(CSV列)としてオブジェクト・データがある CSVファイル。 行のインポートが失敗した場合、エラー・メッセージ(CSV列 )が表示されます。 URIエンドポイント例 /rest/v2/files/assets_output_1465848183346 リクエスト・ペイロード例 なし レスポンス・ペイロード例 CSVファイル 注意事項 ユーザー・アクセスが検証されるため、同一のユーザーでインポートおよび ログ・ファイル取得コールの両方を実行してください。 インポート・コール・レスポンスのインポート・ログ・フ ァイル名。 クエリ・パラメータ展開 CPQ 2016 R1では、次のクエリの拡張機能をご利用いただけます。 クエリ・パラメータ展開 Qパラメータの$LIKE演算子サポート 115 クエリ・パラメータ展開 既存の機能を使用して、ルートの最初のレベルの子を展開するルートを展開することができます。 さらにこのリリ ースでは、以下の機能強化が加えられています。 すべてのレベルを展開します。子オブジェクトの参照はドット表記を使用します。 「*.all」構文とリンクしているオブジェクトで再帰的に展開します。 展開中および再帰的な展開中に選択領域をアクティブ化します。 クエリ・パラメータの URL 形式 {resourceURI}?{param}={paramSpec}&{param}={paramSpec}&{param}={paramSpec} クエリ・パラメータ展開例 クエリ・パラメータ展開 概要および例 all このパラメータは 資産オブジェクトとその子オブジェクトを展開します。 /rest/v2/dynamicResource/assets?expand=all childAssests.all このパラメータは 子資産オブジェクトとその子オブジェクトを展開します。 /rest/v2/dynamicResource/assets?expand=childAssests.all childAssets. wrongname.all このパラメータは存在していないオブジェクトを展開します。 「childAssets.wrongname」パスにおいて子「wrongname」が存在していない 、または現在使用中の「childAssets」オブジェクトではアクセスできません。 /rest/v2/dynamic/assets?expand = childAssets.wrongname.all childAssets*.all このパラメータは、再帰的に資産オブジェクトとすべての子資産を展開します。 /rest/v2/dynamicResource/assets?expand=childAssets*.all childAssets*.all& fields=childAssets .partNumber このパラメータは指定された領域で再帰的に展開されアクティブ化されます。 クエリで指定された領域のみをアクティブ化し取得します。 /rest/v2/dynamicResource/assets?expand= childAssets*.all&fields=childAssets.partNumber 116 Qパラメータの$LIKE演算子サポート この機能はMONGO標準でサポートされていないため、「$」正規表現の演算子を介し「LIKE」操作の続編のスタ イルを提供します。 この機能では、使用を容易にするためにより直感的にSQLの「LIKE演算子」に変換する「 $like」拡張演算子も提供します。 どちらの場合も、「大文字と小文字を区別しない」検索オプションはサポートさ れます。 $like 演算子の例: 概要 $like 演算子の例 $regex 演算子の例 FieldNには「myValue」が含まれ ます。 ?q={"FieldN": {$like:"%myValue%"}} ?q={"FieldN": {$regex:"myValue"}} 「myValue」で開始するFieldN ?q={"FieldN": {$like:"myvalue%"}} ?q={"FieldN": {$regex:"^myvalue"}} 末尾が「myValue」のFieldN ?q={"FieldN": {$like:"%myvalue"}} ?q={"FieldN": {$regex:"myvalue$"}} 「myValue」に一致するFieldN ?q={"FieldN": {$like:"myvalue"}} ?q={"FieldN": {$regex:"^myvalue$"}} 「myValue」の、「大文字と ?q={"FieldN":{$like: "myvalue",$options:"I"}} ?q={"FieldN": {$regex:"/^myvalue$/i"}} 小文字を区別しない」に一 致するFieldN 有効化の手順 「クエリ・パラメータ展開」、「契約ネゴシエーション REST API」および「サブスクリプション・オーダー」 は、CPQ Cloud 2016 R1のサイトで自動的に使用可能になります。 ヒントと考慮事項 CPQ Cloud 2016 R1でご利用いただける新しい REST APIを使用する場合は、次のヒントを検討してください。 REST APIが「プロセス」処理を開始することはありません。 主なリソース CPQ Cloud オンライン・ヘルプで「REST API」トピックを参照してください。 MongoDB Query Documents 117 PLATFORM AS A SERVICE(PAAS)連携のサンプル・アプリケーション Platform as a Service(PaaS)、特にPaaS-Software as a Service(SaaS)の拡張により、お客様は管理された ホスティング環境で社内のWebサービスやアプリケーションをデプロイし、CPQ Cloud のようなSaaSソリューショ ンで提供される機能と連携させそれらを強化することができるようになりました。 CPQ Cloud によって実現した サンプル・アプリケーションは、CPQ Cloud とPaaS-SaaSの拡張機能間の連携に向け、一部の共通のユースケ ースを解決することができるデザインパターンを示します。 以下のセクションでは、サンプル・アプリケーションの 概要を説明します。 XLS TO CSV CONVERTER のサンプル・アプリケーション このサンプル・アプリケーションは、CPQ Cloudでデータを使用する前の、「Java Cloud Service (JCS)-SaaS Extension」でホストされているWebサービスによるデータ変換に使用されるパターンを示します。 この例では、 Webサービスでシンプルに Microsoft Excel® ファイルから CSVファイルにファイル変換されます。 出荷された 状態でのCPQは、ルール・エンジンではXLSXファイルを読み込むことができませんが、CSVファイルならば読み 込むことができます。 このサンプルをモデルとして使用し、営業担当がWebサービスの「Excel to CSV Converter」を使用して、Excel XLSXファイルで提供されている行項目の追加情報を使用して見積を更新できる ようにWebサービスを展開することができます。 他のユースケースでは、販売ユーザーが製品一式の新しいコー ポレート・レートでExcelファイルをアップロードし、それから見積に新しい価格設定を適用できるようにWebサー ビスを構築できた例もあります。サービスは、XLSXファイルを取り込み、同等のCSVデータで応答するRESTエ ンドポイントを公開します。 CPQアプリケーションは、適切なワークフロー内でこのエンドポイントを呼び出すため に、「管理者」ユーザーによって構成されているため、アップロードされたExcelファイルは、ユースケースごとの期 待通りに変換され使用されています。WebサービスのエンドポイントはOAuthを使用して保護され、CPQのWeb アプリケーションは、サービスへのアクセスに機密クライアントを使用しています。 2016 R1で使用することのでき る「Secure Data Table Columns」機能は、CPQ Cloudにある機密クライアントの資格情報を安全に格納するた めの方法を提供します。 見積統計のサンプル・アプリケーション このサンプル・アプリケーションは、見積の分析情報を、CPQ Cloud の商談画面に埋め込まれたUIに表示しま す。 お客様情報がCPQ Cloud REST API を介してデータを利用するアプリケーションに送信され、情報が生 成されます。 このようにサンプルは、CPQ Cloudに「JCS-SaaS拡張」アプリケーションのUI要素を埋め込むた めの戦略と、「JCS-SaaS拡張」を介してCPQ REST API にアクセスする戦略を示しています。このサンプルで は、このお客様の見積全体の平均合計額が計算され、CPQ 商談画面上に表示されます。 このアプリケーショ ンはシンプルな統計を算出しますが、販売ユーザー向けの情報を提供する拡張アプリケーションを開発するた めのモデルとして使用することもできます。 この情報は、販売ユーザーが生成中の見積についての重要な意思 決定や、コンバージョン見込みを最大化する調整に役立てることができます。 118 主なリソース PaaS連携のサンプル・アプリケーションは、Oracle Cloud におけるプラットフォーム・サービス製品の一部として「 Oracle Cloud Developer Portal 」でご利用いただけます。 各アプリケーションでは、サンプル・アプリケーション および次の項目へのステップごとの手順を用意しています。 ご利用のPaaS環境を理解し準備します。 CPQでデータ公開される「JCS - SaaS拡張」で利用できるオブジェクトを検出します。 拡張機能の実装を開発するために使用される接続形態、テクノロジ、およびセキュリティ・モデ ルをリサーチし計画します。 アプリケーションを開発し、デプロイし、開始します。 ご利用の環境を監視し、トラブルシューティングします。 119 アップグレード前の考慮事項 既知の機能 BOM マッピングへの構成Webサービス・サポート このリリースでは、構成Webサービス(v1 およびv2)に、オプションの「bomprice」要素が導入されました。The BOMマッピングが有効化され、0以外のBOM価格が含まれている場合、レスポンスに BOM価格が含まれます 。 注意: 「BOMマッピング」はすべての2016 R1 でご利用いただけます。 追加情報は「BOMマッピング」 セクショ ンを参照してください。 レスポンス例: <bm:price> <bm:bomPrice>$16.0000</bm:bomPrice> <bm:totalPrice>$45.0000</bm:totalPrice> </bm:price> The web service WSDL, upon regenerated, includes the newly introduced "bomPrice" optional element: <xsd:complexType name="ConfigurationPriceType"> <xsd:sequence> ... <xsd:element maxOccurs="1" minOccurs="0" name="bomPrice" nillable="true" type="xsd:string"/> <xsd:element maxOccurs="1" minOccurs="1" name="totalPrice" nillable="false" type="xsd:string"/> </xsd:sequence> </xsd:complexType> 保護URLアドレス カスタマイズやサード・パーティ・ツールのような、URLに「https://」を使用するすべてのCPQ Cloud URLへの 参照を確認してください。 120 翻訳 CPQ Cloud 2016 R1では、一部のメッセージとコンポ―ネントを定義するシステムに対し、文字列が一部削除さ れ、別の文字列が加えられました。 システム定義の文字列で独自の実装固有の翻訳を作成した場合、一部の 文字列は表示されなくなり、その他の文字列は英語で表示されるようになります。 新たに英語で表示される文字 列は翻訳する必要があります これらの大半のメッセージとコンポーネントはCPQ Cloudの管理側にあります。 ただし、更新インストールをデ プロイする前に、エンド・ユーザーと管理ページの両方をレビューして、すべての文字列が指定の言語で表示され ていることを確認する必要があります。 移行 「移行センター」を使用して1つのサイトから別のサイトへの移行を実行する場合、両方のサイトは同じメジャ ー・リリースを使用する必要があります。 コンテンツは、同じメジャー・リリース内のマイナー・リリース間で のみ移行することができます。 “メジャー・リリース” = メジャー製品リリース(2016 R1 等) “マイナー・リリース” = リリース・アップデート(2015 R2 アップデート5 等) 解決済の既知の問題 2016 R1 で修正されたバグについての情報は、「 My Oracle Support 」および CPQ Cloud オンライン・ヘルプ でご利用いただける「2016 R1 Resolved Known Issues 」ドキュメントを参照してください。 翻訳ステータス CPQ Cloud では、シングルおよびマルチバイトの両方の文字セットの利用をサポートしています。ご利用のサイ トで新しい言語を有効化するには、「My Oracle Support 」でサービス・リクエストを発行してください。 以下の言語については、プラットフォームとリファレンス・アプリケーションの両方で、CPQ Cloud のユーザー・イ ンターフェース上での翻訳をご利用いただけます。 中国語 (簡体字)[China] 中国語 (繁体字)[Taiwan] チョコ語 [Czech Republic] デンマーク語 [Denmark] オランダ語 [Netherlands] 英語 フィンランド語 [Finland] フランス語 フランス語 [Canada] ドイツ語 ハンガリー語 [Hungary] イタリア語 日本語 [Japan] 韓国語 [South Korea] ノルウェー語(ブークモール語) [Norway] ポーランド語 [Poland] ポルトガル語 [Brazil] ルーマニア語 [Romania] ロシア語 [Russia] スペイン語 (Worldwide) スウェーデン語 [Sweden] トルコ語 [Turkey] 121 アップグレード後の考慮事項 本番インスタンスをアップグレードする前に、すべてのテスト・インスタンスを Oracle CPQ Cloud 2016 R1でアップ グレードして検証してください。 ブラウザ・サポート CPQ Cloud は、Oracle Software Web ブラウザ・サポート・ポリシーの基準を満たすすべてのブラウザ・バージョン をサポートしています。 対応ブラウザ Windows Googleでバージョンのサポートが終了されるまでの、公式版ブラウザ(general browser availability) のGoogle Chrome のメジャー・リリース。 Mozillaでバージョンのサポートが終了されるまでの、公式版ブラウザ(general browser availability) のMozilla Firefox のメジャー・リリース。 Microsoftでバージョンのサポートが終了されるまでの、公式版ブラウザ(general browser availability) の9か月以内のInternet Explorer/Microsoft Edge のメジャー・リリース。 Mac OS X Googleでブラウザ・バージョンのサポートが終了されるまでの、公式版ブラウザ(general browser availability) のGoogle Chrome のメジャー・リリース。 Mozillaでバージョンのサポートが終了されるまでの、公式版ブラウザ(general browser availability)の Mozilla Firefox のメジャー・リリース。 Appleでバージョンのサポートが終了されるまでの、公式版ブラウザ(general browser availability)の9 か月以内のSafari のメジャー・リリース。 Android Googleでブラウザ・バージョンのサポートが終了されるまでの、公式版ブラウザ(general browser availability)を利用時のGoogle Chrome のメジャー・リリース。 iOS Appleでブラウザ・バージョンのサポートが終了されるまでの、公式版ブラウザ(general browser availability)を利用時の9か月以内のSafari のメジャー・リリース サポートされているブラウザ・バージョンの使用時に問題が生じた場合、「My Oracle Support 」でチケットを発行 して問題を解決してください。 サポートされているブラウザの使用時に問題が生じた場合、修正プログラムが配 信されるまで認定ブラウザ・バージョンを使用してください。 認定ブラウザは現在の市場シェアに基づいて選択さ れ、徹底的に現在のバージョンの標準機能で動作するようにテストされています。 認定ブラウザ Windows Google Chrome 51.x Mozilla Firefox 47.x Internet Explorer 11.x Google Chrome 51.x Mozilla Firefox 47.x OS: Android Lollipop 5.x ブラウザ: Google Chrome 51.x 画面解像度: 2560 x 1600 Mac OS X Android iOS OS: iOS 9.x ブラウザ: Safari 9.x 画面解像度: 2048 x 1536 注意: サイトに追加のJavaScript、代替CSS、または他のカスタム機能が含まれている場合、選択された ブラウザとの互換性の問題が存在する可能性があります。 カスタマイズはアドオンの作業が必要な場合 があります。ご利用いただける回避策と細かい修正を判断するためには、「 My Oracle Support 」へお問 合せください。 SALESFORCE MANAGED PACKAGE のサポート CPQ Cloud では、V7.0 以前の「Salesforce Managed Packages」への更新のリリースは終了しています。 2016 R1 リリースでは、「Managed Packages v7.x」のみが正式にサポートされています。 V7.0 以前の「 Managed Package」を使用するSalesforce 連携は今後も機能する見込みですが、これらのバージョンで発生 する新たな問題は、CPQ Cloud では対応されません。 トレーニング 現在ご使用中のバージョンとこれからアップグレードするバージョンまでのすべてのバージョンの、すべての新機 能、解決済の既知の問題、および機能的な既知の問題を確認するために、 リリース・ドキュメントを参照してくだ さい。 Oracle CPQ Cloud 2016 R1で導入された新機能を熟知するためには、CPQ Cloud オンライン・ヘルプを参照し てください。 追加のヘルプについては「 My Oracle Support.」を参照してください。 このドキュメントに明確に記載されていない情報については、Oracle CPQ Cloud 2016 R1製品のヘルプに対す るソフトウェア・サポート、または「Oracle CPQ Cloud コンサルティング」チームにご確認ください。 追加情報 Oracle CPQ Cloudに関する詳細についての情報は、「 Oracle CPQ Cloud documentation site 」を参照してく ださい。 Copyright © 2016 Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only, and the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document, and no contractual obligations are formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without our prior written permission. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.