この例では、Paymentオブジェクトと標準オブジェクトContactとの多対多関係があります。 支払詳細ページから、ユーザーは担当者ピッカーを使用して支払に担当者を追加できます。 このトピックでは、担当者ピッカーの構成方法について説明します。
シナリオとは何ですか。
支払に担当者を追加するには、ユーザーはアクション・バーから担当者の追加スマート・アクションを選択します。 「担当者の追加」スマート・アクションは、担当者ピッカーを含む「担当者の追加」ページを起動します。 ユーザーは、担当者ピッカーから担当者を選択して支払に追加します。 担当者ピッカーを構成します。
設定の概要
担当者ピッカーを構成および表示するには、次の操作を実行する必要があります:
-
担当者の追加スマート処理を作成します。
「スマート処理の作成」を参照してください。
-
「担当者の追加」ページ・レイアウトを構成します。
ページ・レイアウトには、ユーザーが必要な担当者を選択できるように、「担当者名」フィールドが含まれています。
「担当者の追加レイアウトの構成」を参照してください。
-
担当者ピッカーを構成します。
-
まず、担当者ピッカー・フィールド・テンプレートを作成します。
このテンプレートは、「担当者名」フィールドをピッカー・フラグメントに関連付けます。
-
次に、担当者ピッカー・レイアウトを作成します。
ピッカー・レイアウトによって、担当者ピッカーに含まれるフィールドが決まります。
「担当者ピッカーの構成」を参照してください。
担当者の追加レイアウトの構成
担当者の追加レイアウトを構成するには:
-
「レイアウト」タブをクリックし、PaymentContactMMInter_Src_Payment_cToPaymentContactMMInter_c_Tgt > 「ルール・セット」サブタブをクリックします。
-
「+ルール・セット」をクリックして、レイアウトの新しいルール・セットを作成します。
-
「ルール・セット」の作成ダイアログのコンポーネント・フィールドで、「動的フォーム」を選択します。
-
ラベル・フィールドに、AddLayout
と入力します。
-
IDフィールドで、値をAddLayout
に変更します。
-
「作成」をクリックします。
-
レイアウトに表示する必須フィールドを追加します。
-
「デフォルト」レイアウトの横にある開くアイコンをクリックします。
-
「表示するフィールドの選択」をクリックします。
-
Person_Id_Tgt_PersonToPaymentContactMMInter_cをクリックします。

次に、担当者ピッカー・フィールド・テンプレートを作成します。
担当者ピッカーの構成
担当者を追加レイアウトの構成中に、担当者ピッカー・フィールド・テンプレートを構成できます。
-
AddLayoutルール・セットで作成したレイアウトを確認するときは、Person_Id_Tgt_PersonToPaymentContactMMInter_cフィールドが引き続き選択されていることを確認します。

-
プロパティ・ペインのテンプレート・フィールドで、「作成」をクリックします。

-
「テンプレートの作成」ダイアログのラベル・フィールドに、contactPicker
と入力します。
-
「作成」をクリックします。
テンプレート・エディタが表示されます。
-
テンプレート・エディタで、Code(コード)ボタンをクリックします。
-
テンプレート・エディタで、contactPickerテンプレート・タグの間のプレースホルダー・コードを削除します。
-
コンポーネント・パレットのフィルタ・フィールドに、cx-picker
と入力します。
-
cx-pickerフラグメントをテンプレート・エディタのcontactPickerテンプレート・タグの間にドラッグ・アンド・ドロップします。

-
コードが次のサンプルになるように、次のパラメータをフラグメント・コードに追加します。 contacts
およびContactName
は、オブジェクトのREST API名およびフィールド名の適切な値に置き換えてください。
また、必要に応じて、次のextensionIdパラメータを拡張IDで更新します。
<template id="contactPicker">
<oj-vb-fragment bridge="[[vbBridge]]" name="oracle_cx_fragmentsUI:cx-picker">
<oj-vb-fragment-param name="dynamicLayoutContext" value="[[ $dynamicLayoutContext ]]"></oj-vb-fragment-param>
<oj-vb-fragment-param name="resource"
value='[[ {"name": "contacts", "displayField": "ContactName", "endpoint": "cx-custom" } ]]'></oj-vb-fragment-param>
<oj-vb-fragment-param name="extensionId" value="{{ $application.constants.extensionId }}"></oj-vb-fragment-param>
</oj-vb-fragment>
</template>
次に、ピッカー自体のレイアウトを構成します。
-
レイアウト・タブをクリックし、レイアウトの作成アイコンをクリックします。

-
「レイアウトの作成」ダイアログで、関連オブジェクトのRESTリソースをクリックします。
この例では、cx-customを展開し、「担当者」をクリックします。
-
「作成」をクリックします。
-
担当者タブで、「+ルール・セット」をクリックして、レイアウトの新しいルール・セットを作成します。
-
「ルール・セット」の作成ダイアログのコンポーネント・フィールドで、「動的表」を選択します。
-
ラベル・フィールドに、PickerLayout
と入力します。
-
IDフィールドで、値をPickerLayout
に変更します。
-
「作成」をクリックします。
-
ピッカーに表示するフィールドを追加します。
-
「デフォルト」レイアウトの横にある開くアイコンをクリックします。
-
フィールドのリストから、ピッカーに表示するフィールドを選択します。 フィールドは、クリックした順序で列として表示されますが、並べ替えることができます。

担当者の追加フローのテスト
payment_cリスト・ページからアプリケーション拡張をプレビューして、担当者の追加フローをテストします。
payment_c-listページで、プレビュー・ボタンをクリックして、ランタイム・テスト環境の変更を表示します。
-
結果のプレビュー・リンクは次のようになります:
https://<servername>/fscmUI/redwood/cx-custom/payment_c/payment_c-list
-
プレビュー・リンクを次のように変更します:
https://<servername>/fscmUI/redwood/cx-custom/application/container/payment_c/payment_c-list
ノート: プレビュー・リンクに/application/container
を追加する必要があります。
次のスクリーンショットは、データを使用したリスト・ページの外観を示しています。

-
データが存在する場合は、リスト・ページの任意のレコードをクリックして詳細ページにドリルダウンできます。 ヘッダー・リージョンおよびパネルを含む詳細ページが表示されます。

-
アクション・バーで、担当者を追加アクションを選択します。

「担当者の追加」ページが表示されます。
「個人ID」フィールドで、レコードのサブセットを検索する保存済検索を選択します。

次に、「個人ID」フィールドに、検索する担当者名を入力し、支払レコードに追加する担当者を選択します。

担当者を追加した後、担当者サブビューに移動して、担当者が追加されたことを確認できます。
Push Gitコマンドを使用して作業内容を保存します。
Gitタブに移動し、変更内容を確認し、Gitプッシュを実行します(これはコミットとGitリポジトリへのプッシュの両方を行います)。
