9 拡張性をサポートするためのOracle Sales Cloudのカスタム・オブジェクトおよびカスタム・フィールドの作成

Oracle Sales Cloudをカスタマイズする場合、標準オブジェクトに格納されていない情報を取得するカスタム・オブジェクトおよびカスタム・フィールドを作成することにより、基礎となるデータ・モデルを拡張できます。アプリケーション・コンポーザを使用して、拡張性に関するニーズをサポートするためのカスタム・オブジェクトおよびカスタム・フィールドを作成します。

前提条件

Oracle Sales Cloudでカスタム・オブジェクトおよびカスタム・フィールドを作成する前に、次の各事項について検討する必要があります。

  • 次のOracle Sales Cloudユーザー・ロールの1つがあることを確認します。
    • CRMアプリケーション管理者

    • アプリケーション実装コンサルタント

    • 営業管理者

    注意:

    これらのロールのいずれもない場合は、管理者に問い合わせてください。
  • Oracle Sales Cloudにサインオンします。

カスタム・オブジェクトの作成

このタスクを実行する前に、Oracle Sales Cloudデータ・モデルに追加するカスタム・オブジェクトのタイプを決定する必要があります。

カスタム・オブジェクトのタイプ

Oracle Sales Cloudデータ・モデルには、2つの異なるタイプのカスタム・オブジェクトを追加できます。これらは、次のとおりです。
  • 最上位レベルのオブジェクト: このタイプのオブジェクトは、オブジェクト階層の最上位レベルに存在し、この中には、他のオブジェクトや他の機能コンポーネントが含まれる場合があります。たとえば、商談は標準の最上位レベルのオブジェクトです。

  • 子オブジェクト: 子オブジェクトは、最上位レベルのオブジェクト内に含まれます。たとえば、商談担当者は、商談オブジェクトの子です。商談が削除されると、子である商談担当者もすべて削除されます。

カスタム・オブジェクトの追加の手順は、作成するオブジェクトのタイプに応じて異なります。

最上位レベルのカスタム・オブジェクトの作成

アプリケーション・コンポーザ・ユーティリティを使用して、Oracle Sales Cloudデータ・モデルに最上位レベルのカスタム・オブジェクトを追加します。

始めに、次の手順に従います。
  1. サンドボックスをアクティブ化します。「Oracle Sales Cloudサンドボックスでの作業の概要」を参照してください。
  2. Oracle Sales Cloud「ナビゲータ」メニューから、「ツール」カテゴリの下の「アプリケーション・コンポーザ」をクリックします。
  3. 左側に表示される「アプリケーション・コンポーザ」パネルで、最上部の近くの「アプリケーション」ドロップダウンが、展開対象のオブジェクトのアプリケーション・コンテナに設定されていることを確認します(たとえば、Sales)。
  4. 展開された「オブジェクト」ツリーで、「カスタム・オブジェクト」の横に表示される「作成」アイコンをクリックします。
  5. 「カスタム・オブジェクトの作成」ダイアログ・ボックスで、次の必須情報を指定します。
    • Oracle Sales CloudのUI全体にわたってオブジェクトのデフォルト・ラベルとして表示される、わかりやすく意味のある「表示ラベル」

    • Oracle Sales CloudのUI全体にわたって適切なコンテキストで使用する「複数ラベル」

    • カスタム・オブジェクトの各インスタンスを識別する値のラベルとして使用する「レコード名ラベル」

    • 「レコード名」値をテキスト値と自動生成済シーケンスのどちらにするかを指定するための「レコード名データ型」

    • 「レコード名」に対して一意の値を強制するには、「重複する値を防止しますか。」が選択されていることを確認します。

    • カスタム・オブジェクトの内部名として使用するとともに、API名の導出元である「オブジェクト名」

  6. 「OK」をクリックし、新しいカスタム・オブジェクトの作成を完了します。
    「概要」インタフェースがリフレッシュされ、新しく作成した最上位レベルのオブジェクトの詳細が「カスタム・オブジェクト」ツリーの下に表示されます。

カスタム子オブジェクトの作成

アプリケーション・コンポーザ・ユーティリティを使用して、Oracle Sales Cloudデータ・モデルにカスタム子オブジェクトを追加します。最上位レベルの標準オブジェクトとカスタム・オブジェクトの両方にカスタム子オブジェクトを追加できます。下記の手順では、説明を目的として、最上位レベルのカスタム・オブジェクトを使用します。ただし、最上位レベルの標準オブジェクトにも同じ手順が適用されます。

始めに、次の手順に従います。
  1. サンドボックスをアクティブ化します。「Oracle Sales Cloudサンドボックスでの作業の概要」を参照してください。
  2. Oracle Sales Cloud「ナビゲータ」メニューから、「ツール」カテゴリの下の「アプリケーション・コンポーザ」をクリックします。
  3. 左側に表示される「アプリケーション・コンポーザ」パネルで、最上部の近くの「アプリケーション」ドロップダウンが、展開対象のオブジェクトのアプリケーション・コンテナに設定されていることを確認します(たとえば、営業)。
  4. 「オブジェクト」ツリーで、「カスタム・オブジェクト」を選択して展開してから、新しいカスタム子オブジェクトを追加する最上位レベルのオブジェクトを選択します。
    「概要」インタフェースが右側に開き、選択したオブジェクトの詳細が表示されます。
  5. 「概要」で、「子オブジェクト」リージョンを探し、「子オブジェクトの作成」ボタンをクリックします。
    「カスタム子オブジェクトの作成」ダイアログが開きます。
  6. 「カスタム・オブジェクトの作成」ダイアログ・ボックスで、次の必須情報を指定します。
    • Oracle Sales CloudのUI全体にわたって子オブジェクトのデフォルト・ラベルとして表示される、わかりやすく意味のある「表示ラベル」

    • Oracle Sales CloudのUI全体にわたって適切なコンテキストで使用する「複数ラベル」

    • カスタム・オブジェクトの各インスタンスを識別する値のラベルとして使用する「レコード名ラベル」

    • 「レコード名」値をテキスト値と自動生成済シーケンスのどちらにするかを指定するための「レコード名データ型」

    • 「レコード名」に対して一意の値を強制するには、「重複する値を防止しますか。」が選択されていることを確認します。

    • カスタム・オブジェクトの内部名として使用するとともに、API名の導出元である「オブジェクト名」

    • 「子コレクション名」(事前入力したデフォルトとは異なる名前にする必要がある場合のみ)

  7. 「OK」をクリックし、カスタム子オブジェクトの作成を完了します。
    「概要」インタフェースがリフレッシュされ、新しく作成した子オブジェクトの詳細が親オブジェクトの下に表示されます。

オブジェクト・フィールドの作成

Oracle Sales Cloudは、任意のレベルのオブジェクト階層で標準オブジェクトとカスタム・オブジェクトの両方に複数のタイプのフィールドを追加することをサポートしています。新しいフィールドを追加するためのオプションを次に示します。

フィールド・タイプ

フィールド・タイプにより、Oracle Sales CloudのUIに各フィールドを表示する方法が決まります。フィールド・タイプは、次のように分類できます。
  • 単純: 複数のデータ型の1つが保持され、これには、テキスト、数値、日付、ロング・テキスト、チェック・ボックス、パーセンテージ、日時および通貨が含まれます。

  • 複合: 固定選択リストと動的選択リスト、式およびレコード・タイプを保持できます。

Webサービスを介してフィールドにアクセスする場合、フィールド・タイプの外観は関係ありません。ただし、基礎となるデータは、UIを介してレンダリングされる場合と同じ方法で検証されるため、Webサービスを介してデータを渡す方法を指定する上でフィールド・タイプが役に立ちます。たとえば、文字列を数値フィールドとして渡すことはできません。また、読取り専用フィールドを更新することはできず、固定選択リスト・フィールドには常に有効な値が含まれる必要があります。

テキスト・フィールドの作成

テキスト・フィールドは、複数の単純タイプの1つです。アプリケーション・コンポーザ・ユーティリティを使用して、Oracle Sales Cloudデータ・モデルにオブジェクト・フィールドを追加します。これらの手順は、新しいテキスト・フィールドの追加に固有のものですが、他のタイプの単純フィールドの作成時にも多くの類似点があります。

始めに、次の手順に従います。
  1. サンドボックスをアクティブ化します。「Oracle Sales Cloudサンドボックスでの作業の概要」を参照してください。
  2. Oracle Sales Cloud「ナビゲータ」メニューから、「ツール」カテゴリの下の「アプリケーション・コンポーザ」をクリックします。
  3. 左側に表示される「アプリケーション・コンポーザ」パネルで、最上部の近くの「アプリケーション」ドロップダウンが、展開対象のオブジェクトのアプリケーション・コンテナに設定されていることを確認します(たとえば、営業)。
  4. 操作するオブジェクトのタイプに応じて、標準オブジェクトまたは「カスタム・オブジェクト」を展開します。
  5. カスタマイズするオブジェクトを展開し、「フィールド」をクリックし、右側にフィールド管理インタフェースを表示します。
  6. 「フィールド」インタフェースの「カスタム」タブをクリックしてから、「カスタム・フィールドの作成」アイコンをクリックします。
    「フィールド・タイプの選択」ダイアログが開きます。
  7. 作成するフィールドのタイプを選択し、「OK」をクリックします。この場合、「テキスト」を選択します。
    テキスト・フィールドの作成インタフェースが開きます。
  8. 作成ページで、フィールドに必要な情報を入力します。必要な属性は、作成対象のフィールドのタイプによって異なります。

    注意:

    「サービス・ペイロードに含める」チェック・ボックスを選択し、フィールドをWebサービスのリクエスト・ペイロードとレスポンス・ペイロードに含めます。

    また、Webサービスの起動には「必須」「更新可能」および「検索可能」制約も適用されます。

  9. 「保存して閉じる」をクリックし、新しいフィールドを作成します。


    「フィールド」インタフェースがリフレッシュされ、新しく作成したテキスト・フィールドが「カスタム」タブの下にリストされます。

式フィールドの作成

式フィールドは、複数の複合タイプの1つです。アプリケーション・コンポーザ・ユーティリティを使用して、Oracle Sales Cloudデータ・モデル内の既存のオブジェクトに式フィールドを追加します。

場合によっては、オブジェクトの属性がユーザーによる入力値でないことがあります。かわりに、この値は、計算が依存する任意のフィールドが変更されるたびに計算されます。たとえば、オーダー・ページで、数量または出荷方法が変更されるたびに合計金額を計算して再表示する場合があります。このため、式フィールドは読取り専用であり、Webサービスの起動時にリクエスト・ペイロードに渡すことはできません。

式フィールドを作成するには、次の手順に従います。

  1. サンドボックスをアクティブ化します。「Oracle Sales Cloudサンドボックスでの作業の概要」を参照してください。
  2. Oracle Sales Cloud「ナビゲータ」メニューから、「ツール」カテゴリの下の「アプリケーション・コンポーザ」をクリックします。
  3. 左側に表示される「アプリケーション・コンポーザ」パネルで、最上部の近くの「アプリケーション」ドロップダウンが、展開対象のオブジェクトのアプリケーション・コンテナに設定されていることを確認します(たとえば、営業)。
  4. 操作するオブジェクトのタイプに応じて、標準オブジェクトまたは「カスタム・オブジェクト」を展開します。
  5. カスタマイズするオブジェクトを展開し、「フィールド」をクリックし、右側にフィールド管理インタフェースを表示します。
  6. 「フィールド」インタフェースの「カスタム」タブをクリックしてから、「カスタム・フィールドの作成」アイコンをクリックします。
    「フィールド・タイプの選択」ダイアログが開きます。
  7. 「式」を選択してから、「OK」をクリックします。
    式フィールドの作成ウィザードが開きます。
  8. 作成インタフェースで、式によって返されるデータのタイプ(「テキスト」「数値」または「日付」)を選択します。
  9. 「表示ラベル」および内部の「名前」とともに、フィールドを正確に記述するために必要な他のすべての情報を入力します。
  10. 「制約」リージョンで、「依存先」ドロップダウンから、更新されたときに作成対象の式フィールドの自動再計算をトリガーする必要があるフィールドを選択します。
  11. インタフェースの右上隅で、「Next」ボタンをクリックします。
    式フィールドの作成: 式の構成ウィザードが開きます。ここで、フィールドの計算方法を指定します。
  12. 「: 式の構成」インタフェースで、Groovyを使用して「スクリプトの編集」リージョンに計算式を入力します。「関数パレットの表示/非表示」を切り替えると、既存の「関数」および「フィールド」にアクセスして式を構築しやすくなります。


    上図が示すように、「スクリプトの編集」リージョンに式コードを直接入力する以外にも、有効なGroovy式を構築する上で役に立つオプションが複数用意されています。次に例を示します。
    • 事前定義済の関数またはグローバル関数を追加するには、切り替えて関数パレットを表示し、「関数」タブから関数を選択してから、(画面右側の半分より下に表示される)「挿入」をクリックします。関数に追加情報が必要である場合、指定するよう求められます。

    • フィールドのAPI名を式に挿入するには、「フィールド」タブを使用します。

    • nullなどのキーワードを追加するには、「キーワード」タブを使用します。

    • !=&&などの演算子を追加するには、「スクリプトの編集」リージョンの上部のアイコンを使用します。

    • Webサービスから返されたデータを使用して値を拡張するには、「Webサービス」タブを使用します。

    • 計算内のフィールドが必要ない場合、nvl関数を使用して、nullのかわりに使用する値を定義します。次に例を示します。

      nvl(ActivationDate_c, now()) + 3

    「Oracle Sales CloudのGroovyスクリプト参照」を参照してください。
  13. 式の編集が終了したら、「スクリプトの編集」ツールバーに表示される「検証」アイコンをクリックし、コードに構文エラーがないことを確認します。
  14. インタフェースの右上隅で、「発行」をクリックし、新しい式フィールドを作成します。
    「フィールド」インタフェースがリフレッシュされ、新しく作成した式フィールドが「カスタム」タブの下にリストされます。

固定選択リスト・フィールドの作成

固定選択リスト・フィールドは、複数の複合タイプの1つです。アプリケーション・コンポーザ・ユーティリティを使用して、Oracle Sales Cloudデータ・モデル内の既存のオブジェクトに固定選択リスト・フィールドを追加します。

固定選択リスト・フィールドを作成するには、次の手順に従います。
  1. サンドボックスをアクティブ化します。「Oracle Sales Cloudサンドボックスでの作業の概要」を参照してください。
  2. Oracle Sales Cloud「ナビゲータ」メニューから、「ツール」カテゴリの下の「アプリケーション・コンポーザ」をクリックします。
  3. 左側に表示される「アプリケーション・コンポーザ」パネルで、最上部の近くの「アプリケーション」ドロップダウンが、展開対象のオブジェクトのアプリケーション・コンテナに設定されていることを確認します(たとえば、営業)。
  4. 操作するオブジェクトのタイプに応じて、標準オブジェクトまたは「カスタム・オブジェクト」を展開します。
  5. カスタマイズするオブジェクトを展開し、「フィールド」をクリックし、右側にフィールド管理インタフェースを表示します。
  6. 「フィールド」インタフェースの「カスタム」タブをクリックしてから、「カスタム・フィールドの作成」アイコンをクリックします。
    「フィールド・タイプの選択」ダイアログが開きます。
  7. 「選択リスト(固定)」を選択してから、「OK」をクリックします。
    固定選択リストの作成インタフェースが開きます。
  8. 「外観」の下で、「表示ラベル」を入力します。
  9. また、ユーザーがリストから1つ以上の値を選択できるかどうかに基づいて「表示タイプ」を選択します。
  10. オプションで、「制約」の下で「サービス・ペイロードに含める」を選択し、フィールドがOracle Sales Cloud Webサービスのリクエスト・ペイロードおよびレスポンス・ペイロードに含まれていることを確認します。

    注意:

    また、Webサービスの起動には「必須」「更新可能」および「検索可能」制約も適用されます。

  11. 「値リスト」の下で、参照タイプがすでに定義されている場合、「参照タイプ」フィールドの横にある「参照タイプの検索と選択」アイコンをクリックします。次に、目的の参照タイプを検索して選択してから、「OK」をクリックします。それ以外の場合は、「新規参照タイプの作成」アイコンをクリックし、次のサブステップに従います。
    1. 必要な情報(「意味」および「参照タイプ」)を入力します。
    2. 「選択肢コード」の下で、「参照コードの作成」アイコンをクリックし、リストにアイテムを追加します。
    3. 「意味」列で、各参照の有効な値のリストに表示する値を入力します。この値はリストに対して一意である必要があります。
    4. 「選択肢コード」列で、入力した各アイテムの内部コードを入力します。この値もリストに対して一意である必要があります。

      注意:

      参照コードがUIに表示される通常の文字列値でないことがGroovyスクリプトで明確になるように、各参照コードが大文字であることを確認します。
    5. オプションで、各参照の「表示順序」および簡単な「説明」を追加します。
    6. 「保存」をクリックし、固定選択リストの作成編集インタフェースに戻ります。
  12. オプションで、編集UIでフィールドがレンダリングされるタイミングの「デフォルト値」を指定することもできます。「固定値」オプションを選択する場合、既存の参照から値を選択します。
  13. インタフェースの右上隅で、「保存して閉じる」をクリックし、新しいフィールドを作成します。
    「フィールド」インタフェースがリフレッシュされ、新しく作成した選択リスト(固定)フィールドが「カスタム」タブの下にリストされます。

動的選択リスト・フィールドの作成

動的選択リスト・フィールドは、複数の複合タイプの1つです。アプリケーション・コンポーザ・ユーティリティを使用して、Oracle Sales Cloudデータ・モデル内の既存のオブジェクトに動的選択リスト・フィールドを追加します。

一般的な概要

動的選択リストを使用すると、オブジェクトがOracle Sales Cloudデータ・モデル内の別のオブジェクトのデータにアクセスできるようになります。たとえば、標準アカウント・オブジェクトからの既存のアカウント名のコレクションが移入された動的選択リストが作成および編集ページに含まれるヘルプ・リクエスト・カスタム・オブジェクトを入手できます。

Oracle Sales Cloud内の他のすべてのカスタム・フィールドの場合と同じように、動的選択リストは、フィールドが含まれるオブジェクトに関連付けられた任意のページ(レイアウト)に追加された後にのみレンダリングされます。次の画像は、UIページ上でレンダリングされた場合の動的選択リスト・フィールドの例を示しています。


dynamic-choice-list-rendering.pngの説明が続きます
図dynamic-choice-list-rendering.pngの説明

コントロールの下部に「検索...」リンクがどのように表示されるかに注意してください。このリンクをクリックすると、「検索と選択」ダイアログ・ボックスが開き、使用可能なすべての選択肢の中なら目的の値を素早く見つけることができます。動的選択リストを作成する場合、このダイアログで表示および検索するフィールドを指定できます。

動的選択リスト・フィールドの作成

動的選択リスト・フィールドを作成するには、次の手順に従います。

  1. サンドボックスをアクティブ化します。「Oracle Sales Cloudサンドボックスでの作業の概要」を参照してください。
  2. Oracle Sales Cloud「ナビゲータ」メニューから、「ツール」カテゴリの下の「アプリケーション・コンポーザ」をクリックします。
  3. 左側に表示される「アプリケーション・コンポーザ」パネルで、最上部の近くの「アプリケーション」ドロップダウンが、展開対象のオブジェクトのアプリケーション・コンテナに設定されていることを確認します(たとえば、営業)。
  4. 操作するオブジェクトのタイプに応じて、標準オブジェクトまたは「カスタム・オブジェクト」を展開します。
  5. カスタマイズするオブジェクトを展開し、「フィールド」をクリックし、右側にフィールド管理インタフェースを表示します。
  6. 「フィールド」インタフェースの「カスタム」タブをクリックしてから、「カスタム・フィールドの作成」アイコンをクリックします。
    「フィールド・タイプの選択」ダイアログが開きます。
  7. 「選択リスト(動的)」を選択してから、「OK」をクリックします。
    動的選択リストの作成: 基本情報インタフェースが開きます。
  8. 「外観」の下で、「表示ラベル」を入力します。
  9. オプションで、「制約」の下で「サービス・ペイロードに含める」を選択し、フィールドがOracle Sales Cloud Webサービスのリクエスト・ペイロードおよびレスポンス・ペイロードに含まれていることを確認します。

    注意:

    また、Webサービスの起動には「必須」「更新可能」および「検索可能」制約も適用されます。

  10. インタフェースの右上隅で、「Next」ボタンをクリックします。
    動的選択リストの作成: 値リストインタフェースが開きます。
  11. 「リスト・データソース」の下で、次の適切な値を選択します。
    1. 関連オブジェクト - どのオブジェクトからデータをリストに動的に移入するかを指定します。Oracle Sales Cloudデータ・モデル内のすべてのアプリケーション・コンテナ全体から最上位レベルのオブジェクト(カスタム・オブジェクトを含む)のみを選択できることに注意してください。
    2. リスト選択表示値 - リストに移入するデータとともにオブジェクト・フィールドまたはプロパティを選択します。ここに表示されるプロパティは、関連オブジェクトに必要なプロパティのみです。
  12. ソース・オブジェクト・プロパティのリストからレコードをフィルタ処理で除外する場合、「データ・フィルタ」の下で、「検索フィールドの追加」ボタンをクリックします。たとえば、各オブジェクト・インスタンスの“Status = active”をフィルタ処理できます。
  13. 次の2つのステップでは、ページ上のレンダリング済コントロール内の「検索...」をユーザーがクリックした後に開く「検索と選択」ダイアログの外観と動作を変更します。2つの追加オプションが用意されています。
    1. 「追加リスト表示値」の下で、検索結果グリッドに表示する追加列を選択できます。
    2. 「追加リスト検索フィールド」の下で、検索対象として使用可能にする他のフィールドを含めることができます。
  14. インタフェースの右上隅で、「発行」をクリックし、新しい動的選択リスト・フィールドを作成します。
    「フィールド」インタフェースがリフレッシュされ、新しく作成した動的選択リスト・フィールドが「カスタム」タブの下にリストされます。