1対多関係
アプリケーション・コンポーザを使用すると、同じアプリケーション内の2つのオブジェクト間に1対多の関係を作成できます。1つのオブジェクトのプライマリ識別子が別のオブジェクトの表に格納されます。
1つのオブジェクトの詳細ページまたはツリーに表示されるサブタブに多数のオブジェクトを公開する前に、関連が存在する必要があります。 たとえば、1つのアカウントに複数のサービス・リクエストを関連付けることができます。 アカウントの詳細ページのサブタブとして特定のアカウントに関連付けられたサービス・リクエストのリストを表示するには、最初にアカウント・オブジェクトとサービス・リクエスト・オブジェクトの間に1対多の関係を作成する必要があります。 これらの関係は、子オブジェクトを作成するか、動的選択リストを作成することによって暗黙的に作成します。 または、「関係の作成」ページで関係を明示的に作成します。
1対多関係を作成した後は、その関係を削除できません。
親子関係
親子関係は、カスタム・オブジェクトが最上位オブジェクトの子として作成されるときに暗黙的に作成されます。
子オブジェクトが作成されると、その親のコンテキストで特別に作成されます。 子オブジェクトには独自の作業領域がなく、親オブジェクトが削除されると子オブジェクトが削除されます。
オブジェクト・ツリーで親子関係を表示します。子オブジェクトは、親オブジェクトの下にサブノードとして表示されます。 親子関係が存在する場合、子オブジェクトは子オブジェクト・リージョンの親の「オブジェクトの概要」ページにリストされます。 トップレベル・オブジェクトは、多数の子オブジェクトを持つことができます。 子オブジェクトに設定できる親オブジェクトは1つのみです。
親子関係から暗黙的に作成された関係も、関係ページに表示されます。 関係名は自動的に生成されます。
動的選択リスト関係
動的選択リスト・フィールドを作成すると、2つのオブジェクト間に選択リストの関係が暗黙的に作成されます。
動的選択リストは、別のオブジェクトの実際のデータから移入される値リストを含むフィールドです。 たとえば、特定の部門の人事担当者をユーザーが指定できる動的選択リストをページに表示できます。 HR担当者選択リストは、部門オブジェクトに追加するフィールドですが、値リストには従業員オブジェクトの実際の従業員が移入されます。
オブジェクトを選択し、関連オブジェクトに基づいて動的選択リスト・フィールドを作成すると、現在のオブジェクトが多オブジェクトで、関連オブジェクトが1つのオブジェクトである1対多外部キー関係が暗黙的に作成されます。 この暗黙的な関係の作成により、後で1つのオブジェクトの詳細ページで「多」オブジェクトの関連オブジェクト・サブタブを追加できます。 これらの暗黙的に作成された選択リスト関係は、関係ページで表示できます。
オブジェクトの「オブジェクトの概要」ページで動的選択リスト関係を表示します。 このような関係が存在する場合、関連オブジェクトは関連オブジェクト・リージョンのオブジェクトの「オブジェクトの概要」ページにリストされます。
これらのオブジェクトは関連オブジェクトであり、親子オブジェクトではありません。 現在のオブジェクトが削除された場合、関連オブジェクトは削除されません。
動的選択リスト関係から暗黙的に作成された関係は、関係ページにも表示されます。 関係名は自動的に生成されます。
通常、作成する動的選択リストによって、選択リスト関係が暗黙的に作成されます。 例外は、グローバルな単一インスタンス環境で、Oracle CX SalesオブジェクトとFusion Serviceオブジェクト間で動的選択リストを作成する場合です: リソース、顧客担当者プロファイル、アカウント、住所。 このような場合、関係は暗黙的に作成されません。
参照関係の作成
「関係の作成」ページを使用して、明示的に2つのトップレベル・オブジェクト間に外部キー・ベースの1対多関係を作成します。 このタイプの関係は、参照関係と呼ばれます。
同じアプリケーション内の2つの最上位オブジェクト間の関係を明示的に作成するには:
-
「共通設定」ペインで「関係」を選択します。
-
関係ページで、「新規」アイコンをクリックします。
-
ソース・オブジェクトおよびターゲット・オブジェクトを選択します。
子オブジェクトをソース・オブジェクトまたはターゲット・オブジェクトにすることはできません。
ノート共通コンポーネントは、ソース・オブジェクトまたはターゲット・オブジェクトとして選択できません。
関係を作成すると、ソース・オブジェクトおよびターゲット・オブジェクトは編集できなくなります。
この関係によって、外部キーの詳細を格納するフィールドがターゲット・オブジェクトに追加されます。 ソース・オブジェクトを削除しても、ターゲット・オブジェクト・レコードは残ります。
-
関係名と説明を入力します。
関係を作成すると、関係名は編集できなくなります。
-
オプションで、サブタブのターゲット・オブジェクトをソース・オブジェクトの詳細ページに追加します。
-
オプションで、ソース・オブジェクトとターゲット・オブジェクトの両方のデータ・フィルタ基準を指定します。
ここで指定したフィルタ条件によって、実行時に、この関係の他のオブジェクトのレコードに関連付けることができるレコードが制御されます。
読み取り: 「カスタム・オブジェクトの「検索と選択」ダイアログの構成」。
同じソース・オブジェクトとターゲット・オブジェクト間に複数の関係を作成できます。 たとえば、担当者オブジェクトと商談オブジェクト間にプライマリ担当者関係とセカンダリ担当者関係の両方を作成します。
Groovyスクリプトの構文
オブジェクト間の1対多関係を作成すると、子オブジェクトまたは「多」オブジェクトに外部キー・フィールドが作成されます。 次のAPI名を使用して、スクリプト内のそれらの外部キーにアクセスします。
関係タイプ |
外部キーAPI名 |
使用パターン |
---|---|---|
親/子関係 |
親オブジェクト名がParentObj_cの場合、外部キーAPI名(子オブジェクトに追加)はParentObj_Id_cです。 |
<Name of the parent object>_Id_c |
動的選択リストの関係 |
動的選択リスト・フィールド名がDynChoice1_cの場合、外部キーAPI名はDynChoice1_Id_cです。 |
<Name of the dynamic choice list field>_Id_c |
参照関係(1対多) |
ソース・オブジェクト名がSourceObj_c、ターゲット・オブジェクト名がTargetObj_c、関係名がrelation_Mto1の場合、外部キーAPI名(ターゲット・オブジェクトに追加)はSourceObj_Id_relation_Mto1です。 |
<Name of the source object>_Id_<Name of the relationship> |