動的選択リストの概要
アプリケーション・コンポーザを使用して、標準オブジェクトとカスタム・オブジェクトの両方に新しいフィールドを追加できます。 カスタム・オブジェクトまたは標準オブジェクトに追加できる1つのフィールド・タイプは、動的選択リストです。
動的選択リストは、別のオブジェクトの実際のデータから移入される値リストを含むフィールドです。 たとえば、ユーザーがヘルプ・リクエストをロギングするアカウントを指定できる動的選択リストをユーザー・インタフェース・ページに公開できます。 「アカウント名」選択リストは、ヘルプ・リクエスト・オブジェクトに追加するフィールドですが、値リストにはアカウント・オブジェクトの実際の名前が移入されます。
動的選択リストを作成する場合は、次の点に注意してください:
-
フィールド・プロパティの共通セットと、指定する必要がある動的選択リスト固有のプロパティを確認します。
-
リスト・データ・ソース、追加リスト表示値および追加リスト検索フィールド・リージョンで使用可能なオプションを確認します。
-
動的選択リストが関係を暗黙的に作成する方法を理解します。
同じカスタム・オブジェクトに基づく動的選択リストも作成する場合は、カスタム・オブジェクトの「選択して検索」ダイアログ・ボックスを作成する必要があります。 これにより、ユーザーは実行時に検索リンクをクリックして、選択リスト・フィールドで必要な値を検索して選択できます。
実行時の動的選択リストの使用
動的選択リストは、別のオブジェクトの実際のデータから移入される値リストを含むフィールドです。 実行時に、ユーザーは値リストを表示し、値を検索して選択できます。 次に例を示します。
次に、ユーザーが商談に営業担当を追加できる動的選択リスト・フィールドの例を示します。 これは、リソース・オブジェクトのレコードが移入されたカスタム・フィールドです。

各動的選択リスト・フィールドには、次の内容が含まれていることに注意してください:
-
効率を高めるために最近使用されたレコードのリスト。
-
検索リンクをクリックすると、ユーザーがレコードを検索して選択できる検索と選択ダイアログが開きます。 この場合も、適切な選択を見つけやすくすることで効率が向上します。
最も最近使用したリストは、これらのオブジェクトに基づいて動的選択リスト・フィールドに表示されます: 取引先、担当者、世帯、商談、見込み客、アセット、キャンペーン、パートナ、サービス・リクエスト、製品、製品グループ、およびカスタム・オブジェクト。 リストには、アルファベット順に表示される少数のレコード・セットが含まれています。 値リストは、他の標準オブジェクトに基づいてカスタム動的選択リスト・フィールドに表示されますが、これらのオブジェクトによって定義されたソート順(オブジェクト間で異なる場合があります)でソートされます。
最近使用したリストでは、ユーザーが以前に次のいずれかの方法でレコードを選択した場合は、レコードが一覧表示されます:
-
値を入力してフィールドからTabキーで移動
-
値の一部を入力し、自動提示値のいずれかからレコードを選択する方法
-
検索と選択ダイアログ・ボックスからレコードを選択
-
最近使用したリストからレコードを選択
商談の場合、動的選択リスト・フィールドには、検索と選択ダイアログで最近検索した商談と選択した商談が表示されますが、最近作成された商談は最近使用したリストに表示されません。 ただし、アカウントの場合、動的選択リストには、最近の検索と選択、および最近作成されたものの両方が表示されます。
動的選択リストに対して設定された拡張フィルタ条件は、最近使用したリストには適用されません。
動的選択リストのプロパティ
表示ラベルやフィールド名など、フィールド・プロパティの共通セットの値を指定して、動的選択リストを作成します。 また、動的選択リスト・フィールド・タイプに固有のこのフィールドのプロパティも設定します。
次の表に、複数のフィールド・タイプに共通のプロパティを示します:
フィールドのプロパティ |
フィールド・プロパティ・リージョン |
---|---|
ラベル |
外観 |
ヘルプ・テキスト |
外観 |
表示幅 |
外観 ノート:
使用しないでください。 フィールドの表示幅は、フィールド・タイプと解像度に基づいて動的に計算されます。 |
名前 |
名前 |
説明 |
名前 |
必須 |
制約 |
更新可能 |
制約 |
検索可能 ノート:
この動的選択リストを関連オブジェクトの詳細ページのサブタブとして公開する場合は、このフィールドを検索可能にする必要があります。 前に*が付いたフィールドは検索できません。 |
制約 |
次の表に、動的選択リストなど、特定のフィールド・タイプのみに固有のプロパティを示します:
フィールドのプロパティ |
フィールド・プロパティ・リージョン |
---|---|
関連オブジェクト |
リスト・データ・ソース |
リスト選択表示値 |
リスト・データ・ソース |
データ・フィルタ |
リスト・データ・ソース |
追加リスト表示値 |
追加リスト表示値 |
追加リスト検索フィールド |
追加リスト検索フィールド |
List Data Source(リスト・データ・ソース)とAdditional List Display Values(追加リスト表示値)、Additional List Search Fields(追加リスト検索フィールド)リージョンの使用
動的選択リストを定義する場合は、次のリージョンを使用して、実行時に値リストに表示するデータを決定します。
実行時に値リストに表示するデータを構成できますが、これらの値がリストに表示される順序を制御することはできません。
-
リスト・データソース・リージョン
-
関連オブジェクト
動的選択リストの値は、別のオブジェクトのデータから移入されます。 最初に関連オブジェクトを選択し、「リスト選択表示値」選択リストを使用して、実行時に最初の列として動的選択リスト内に表示するフィールドを選択します。 関連オブジェクトの選択は、フィールドの作成時にのみ可能です。
ノート:選択可能なオブジェクトのセットは、最上位レベルのオブジェクトのみに制限されます。 関連オブジェクトとして子オブジェクトを選択することはできません。
この例では、関連オブジェクトは「アカウント」です。
ヒント:動的選択リスト・フィールドを作成すると、選択リストの関連オブジェクトを「フィールド」ページから簡単に認識できます。 「フィールド」ページには、選択したオブジェクトの標準フィールドとカスタム・フィールドの両方のサマリーが表示されます。 動的選択リストが作成された場合、タイプ列には関連オブジェクトが含まれます。 この例では、フィールド・タイプは「選択リスト(動的) <Account>」です。
-
リスト選択表示値
「リスト選択表示値」選択リストから、実行時に最初の列として動的選択リスト内に表示する関連オブジェクトのフィールドを選択します。 これは、ユーザーが適切な選択を行うために使用する関連オブジェクトのプライマリ・フィールドです。 この例では、フィールドは「名前」のようになります。
ノート:選択可能なフィールドには、関連オブジェクトの必須フィールドのみが含まれます。
-
データ・フィルタ
データ・フィルタを使用して、実行時に動的選択リストに表示されるデータのセットをさらに絞り込むことができます。 実行時に値リスト内のレコードのサブセットのみを表示する単純なフィルタを設定できます。 または、オブジェクト・コンテキストに基づいてレコードのサブセットを動的にフィルタするより複雑な式を設定できます。 一部の標準オブジェクトに対して事前定義されている既存のフィルタを使用することもできます。
フィールドの初期構成時に動的選択リストにデータ・フィルタを設定するのが理想的です。
たとえば、単純なフィルタを使用して、特定のリージョン外のアカウントを非表示にします。 または、無効な取引先レコードを非表示にします。 実行時には、アクティブなアカウントのみが動的選択リスト・フィールドに表示されます。
ヒント:パフォーマンスを最適化するには、索引付きフィールドに基づく1つ以上のフィルタを含めることで、実行時にこのフィールドに表示される値のリストを絞り込みます。
データ・フィルタの詳細は、「動的選択リストのデータ・フィルタ」を参照してください。
-
-
Additional List Display Values (追加リスト表示値)リージョン(すべてのオブジェクトには使用できません。次のノートを参照してください)
動的選択リストのルック・アンド・フィールをさらに絞り込むには、選択リストに表示する追加フィールドを選択します。
実行時に動的選択リストに追加の関連オブジェクト・フィールドを含めるには、「追加リスト表示値」リージョンを使用します。 これらの追加フィールドは、ユーザーが選択リストから選択するのに役立ちます。 リージョンには、「リスト選択表示値」選択リストですでに選択したフィールドは含まれません。
選択できる追加フィールドの数に制限はありません。
ノート:前に*が付いたフィールドは検索できません。
-
Additional List Search Fields(追加リスト検索フィールド)リージョン(すべてのオブジェクトには使用できません。次のノートを参照してください)
動的選択リストの検索と選択ダイアログで、検索基準として追加できる追加の関連オブジェクト・フィールドを指定できます。
動的選択リストの検索と選択ダイアログに、実行時に「検索」リンクを使用してアクセスする追加の関連オブジェクト・フィールドを含めるには、「追加リスト検索値」リージョンを使用します。 リージョンには、「リスト選択表示値」選択リストですでに選択したフィールドは含まれません。
選択できる追加フィールドの数に制限はありません。
次のいずれかのオブジェクトに基づく動的選択リストを構成する場合、「追加リスト表示値」リージョンおよび「追加リスト検索フィールド」リージョンは表示されません:
-
アカウント
-
資産
-
キャンペーン
-
担当者
-
世帯
-
商談
-
パートナ
-
製品
-
製品グループ
-
リソース
-
営業リード
-
サービス・リクエスト
これは、これらのオブジェクトには、構成可能な対応する検索および選択ダイアログ・ボックスがあるためです。 関連するトピック「カスタム・オブジェクトの検索と選択ダイアログ・ボックスの構成」および「標準オブジェクトの検索と選択ダイアログ・ボックスの構成」を参照してください。
暗黙的関係作成
関連オブジェクトに基づいてオブジェクトの動的選択リストを作成すると、現在のオブジェクトが「多」のオブジェクトで、関連オブジェクトが「1」のオブジェクトである多対1の外部キー関係が暗黙的に作成されます。 この暗黙的な関係の作成により、後で1つのオブジェクトの詳細ページで「多」オブジェクトの関連オブジェクト・サブタブを追加できます。 これらの暗黙的に作成された選択リスト関係は、関係ページで表示できます。
前の例に戻り、ユーザーがヘルプ・リクエストを記録するアカウントを指定できるようにします。 ヘルプ・リクエスト・オブジェクトに「アカウント名」動的選択リスト・フィールドを追加し、その値はアカウント・オブジェクトから移入されます。 この例では、アカウントを複数のヘルプ・リクエストに関連付けることができます。 作成された関係は、ヘルプ・リクエストとアカウント・オブジェクトの間の多対1関係で、ユーザーはヘルプ・リクエスト・オブジェクトの表にアカウント識別子を格納できます。 この関係では、アカウント・オブジェクトはソース・オブジェクトで、ヘルプ・リクエスト・オブジェクトはターゲット・オブジェクトです。 ソース・オブジェクトが削除されたことがある場合、実行時に動的選択リストに値が含まれません。
後で、関連するすべてのヘルプ・リクエストが単一のアカウントについて表示されるアカウント詳細ページの関連オブジェクト・サブタブを公開できます。 アカウント動的選択リストの作成時に関係がすでに作成されているため、アカウント詳細ページのヘルプ・リクエスト関連オブジェクト・サブタブを作成できます。
通常、作成する動的選択リストによって、選択リスト関係が暗黙的に作成されます。 例外は、グローバルな単一インスタンス環境で、Oracle CX SalesオブジェクトとFusion Serviceオブジェクト間で動的選択リストを作成する場合です: リソース、顧客担当者プロファイル、アカウント、住所。 このような場合、関係は暗黙的に作成されません。
Groovyスクリプトの構文
動的選択リスト・フィールドを使用してオブジェクト間に多対1の関係が作成されると、多オブジェクトに外部キー・フィールドが作成されます。 次の表に示すAPI名を使用して、スクリプト内の外部キーにアクセスします。
関係タイプ |
外部キーAPI名 |
使用パターン |
---|---|---|
動的選択リストの関係 |
動的選択リスト・フィールド名がDynChoice1_cの場合、外部キーAPI名はDynChoice1_Id_cです。 |
<Name of the dynamic choice list field>_Id_c |
追加の動的選択リスト仕様
このフィールド・タイプの追加仕様には、次の詳細が含まれます:
-
データ型はVARCHAR2 (1500)です。
-
オブジェクトには、合計625個のフィールドを含めることができます。 これらの625フィールドのうち、350フィールドがテキスト・フィールドとチェック・ボックス・フィールド、および固定および動的選択リスト用に予約されています。
-
パフォーマンスを最適化するために、標準オブジェクトには最大20個の動的選択リスト・フィールド、カスタム・オブジェクトには19個の動的選択リスト・フィールドを作成できます。
ノート:動的選択リスト・フィールドの実行には追加の問合せが必要なため、ページのパフォーマンスにも影響する場合があります。 そのため、Oracleでは、ランディングおよび編集ページに表示される動的選択リスト・フィールドの数を5に制限することをお薦めします。
-
動的選択リスト・フィールドおよび関係では、自動的に1つの索引付き数値フィールドが使用されます。 すべての索引付き数値フィールドがすでに使用されている場合、アプリケーション・コンポーザは索引なし数値フィールドを使用します。
サブタブまたは分析が動的選択リスト・フィールドまたはその他の関係に基づいている場合は、最初にその関係を作成して、索引付き数値フィールドを取得するようにします。 これにより、サブタブまたは分析に最適なパフォーマンスが確保されます。
-
標準オブジェクトに追加されたカスタム動的選択リスト・フィールドをレポートするには、カスタム動的選択リスト・フィールドを事前作成サブジェクト領域に追加できないため、カスタム・サブジェクト領域を作成する必要があります。 その後、必要な組み込みサブジェクトエリアを新しいカスタム・サブジェクト・エリアと結合する、Analytics Answersでユニオン・レポートを作成できます。
-
動的選択リスト・フィールドが作成されると、そのフィールドのターゲット・オブジェクトに対してリバース・アクセサは自動的に作成されません。 つまり、REST GETコールを使用してターゲット・オブジェクトのデータを取得する場合、データは出力で使用できなくなります。