パネルへのロールアップ・リージョンの追加
ロールアップは、ビジネス・オブジェクトとその関連オブジェクトの属性のレコード間のデータを要約します。 ロールアップの集計値は、オブジェクトの詳細ページのパネル内のビジネス・メトリックとして表示されます。 Oracle Visual Builder Studioを使用して、パネルに新しいロールアップを追加できます。
ロールアップはどこに表示されますか。
ロールアップは、オブジェクトの詳細ページのパネル内に表示されます。
カスタム・オブジェクトと標準オブジェクトの両方のパネルに、事前定義済またはカスタムのロールアップを追加できます。 標準オブジェクトの一部のパネルには、すでにロールアップ・リージョンが付属しています。
支払のパネルに表示されるロールアップのスクリーンショットを次に示します。
前提条件
事前定義済またはカスタムのロールアップをパネルに追加できます。
カスタム・ロールアップを追加する前に、まずカスタム・ロールアップを作成する必要があります。
-
アプリケーション・コンポーザで、次の手順を実行します。
-
目的のオブジェクトに対して、ロールアップ・オブジェクトとフィールドを作成します。
-
次に、フィールドをロールアップとして作成して公開します。
-
-
営業の設定および保守作業領域の適応型検索の構成タスクで、ロールアップ・オブジェクトおよび属性を有効にします。
「ロールアップを設定するステップはどれですか。」を参照してください。
次の例では、Paymentオブジェクト用に作成されたRollupObjectというロールアップ・オブジェクトを使用します。 RollupObjectオブジェクトには次のフィールドがあります:
-
支払明細数(数値フィールド)
-
合計金額(通貨フィールド)
ロールアップ・レイアウトとルール・セットの作成
ロールアップをパネルに追加するには、最初にロールアップのレイアウトを作成する必要があります。 その後、ロールアップ・レイアウトをパネルに追加できます。
支払の詳細ページの「支払明細」パネルにロールアップを追加する例を見てみましょう。
まず、ロールアップ・レイアウトを作成します:
-
Visual Builder Studioで、レイアウト・タブをクリックし、レイアウトの作成アイコンをクリックします。
-
「レイアウトの作成」ダイアログで、子オブジェクトのRESTリソースをクリックします。
この例では、ロールアップ・オブジェクトをRollupObjectと呼びます。 したがって、cx-customを展開し、Payment_c/RollupObject_cをクリックします。
-
「作成」をクリックします。
次に、関連するルール・セットを作成します。
-
RollupObject_cレイアウト・タブで、「+ルール・セット」をクリックして、レイアウトの新しいルール・セットを作成します。
-
「ルール・セット」の作成ダイアログのコンポーネント・フィールドで、「動的フォーム」を選択します。
-
ラベル・フィールドに、PaymentLinesRollupと入力します。
-
IDフィールドで、値をPaymentLinesRollupに変更します。
-
「作成」をクリックします。
-
-
ロールアップ・フィールドをレイアウトに追加します。
-
「デフォルト」レイアウトの横にある開くアイコンをクリックします。
-
cx-panel-rollupフラグメントをクリックします。
このフラグメントは、積上リージョンの書式を提供します。
-
ロールアップ・レイアウトには2つのスロットが含まれます。 フィールドのリストから、ロールアップ・フィールドを目的のスロットにドラッグします。
たとえば、TotalAmount_cフィールドをitem2スロットにドラッグします。
-
ロールアップ・リージョンのパネルへの追加
前のセクションでは、レイアウトとルール・セットを使用してロールアップ・リージョンを構成しました。
次に、パネルのページおよびテンプレートにパラメータを追加して、ロールアップ・リージョンをパネルに追加します。 その方法は次のとおりです。
-
Visual Builder Studioで、「アプリケーションUI」タブをクリックします。
-
cx-custom > payment_cを展開し、payment_c-detailノードをクリックします。
-
payment_c詳細タブをクリックし、ページ・デザイナ・サブタブをクリックします。
「コード」ボタンをクリックします。
-
ドロップダウンから「テンプレート」を選択します。
-
次のパラメータをフラグメント・コードに追加します。
<oj-vb-fragment-param name="rollupLayoutId" value="PaymentLinesRollup"></oj-vb-fragment-param>
必ず、
rollupLayoutId
パラメータの値を適切な値に置き換えてください。結果のテンプレート・コードは次のようになります:
<template id="paymentLines"> <oj-vb-fragment bridge="[[vbBridge]]" name="oracle_cx_fragmentsUI:cx-panel"> <oj-vb-fragment-param name="resource" value='[[ {"name": $flow.constants.objectName, "primaryKey": "Id", "endpoint": $application.constants.serviceConnection } ]]'> </oj-vb-fragment-param> <oj-vb-fragment-param name="sortCriteria" value='[[ [{"attribute": "LastUpdateDate","direction": "desc" }] ]]'> </oj-vb-fragment-param> <oj-vb-fragment-param name="query" value='[[ [{"type": "selfLink", "params": [{"key": "Payment__c_Id", "value": $variables.id }]}] ]]'></oj-vb-fragment-param> <oj-vb-fragment-param name="child" value='[[ {"name": "PaymentLinesCollection_c", "primaryKey": "Id", "relationship": "Child"} ]]'></oj-vb-fragment-param> <oj-vb-fragment-param name="context" value="[[ {} ]]"></oj-vb-fragment-param> <oj-vb-fragment-param name="extensionId" value="{{ $application.constants.extensionId }}"></oj-vb-fragment-param> <oj-vb-fragment-param name="rollupLayoutId" value="PaymentLinesRollup"></oj-vb-fragment-param> </oj-vb-fragment> </template>
-
ドロップダウンから「ページ」を選択します。
-
既存の
resource
パラメータを次のコードに置き換えます:<oj-vb-fragment-param name="resource" value="[[ {'name':'Payment_c', 'puid': $variables.puid, 'id': $variables.id, 'endpoint': $application.constants.serviceConnection ,'extensionId': $application.constants.extensionId, 'rollup': 'RollupObject_c'} ]]">
すべての属性値をシナリオに適した値に置き換えてください。
結果のコードは次のようになります:
<oj-vb-fragment bridge="[[vbBridge]]" name="oracle_cx_fragmentsUI:cx-detail" class="oj-flex-item oj-sm-12 oj-md-11" on-view-change-event="[[$listeners.fragmentViewChangeEvent]]"> <oj-vb-fragment-param name="resource" value="[[ {'name':'Payment_c', 'puid': $variables.puid, 'id': $variables.id, 'endpoint': $application.constants.serviceConnection ,'extensionId': $application.constants.extensionId, 'rollup': 'RollupObject_c'} ]]"> <oj-vb-fragment-param name="header" value="[[ {'resource': $flow.constants.objectName, 'extensionId': $application.constants.extensionId } ]]"></oj-vb-fragment-param> <oj-vb-fragment-param name="actionBar" value='[[ { "applicationId": "ORACLE-ISS-APP", "subviewLabel": {"PaymentContactMMInter_Src_Payment_cToPaymentContactMMInter_c_Tgt": $translations.CustomBundle.Contacts()}, "resource": {"name": $flow.constants.objectName, "primaryKey": "Id", "puid": "Id", "value": $variables.puid }} ]]'></oj-vb-fragment-param> <oj-vb-fragment-param name="panels" value='[[ { "panelsMetadata": $metadata.dynamicContainerMetadata, "view": $page.variables.view } ]]'></oj-vb-fragment-param> <oj-vb-fragment-param name="context" value="[[ {'flowContext': $flow.variables.context} ]]"></oj-vb-fragment-param> <oj-vb-fragment-param name="row" value="{{ $variables.row }}"></oj-vb-fragment-param> </oj-vb-fragment>
パネルのテスト
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
を追加する必要があります。次のスクリーンショットは、データを使用したリスト・ページの外観を示しています。
-
データが存在する場合は、リスト・ページの任意のレコードをクリックして詳細ページにドリルダウンできます。 ヘッダー・リージョンおよびパネルを含む詳細ページが表示されます。
「支払明細」パネルが詳細ページに、ロールアップ用のリージョンとともに表示されます。
Push Gitコマンドを使用して作業内容を保存します。
Gitタブに移動し、変更内容を確認し、Gitプッシュを実行します(これはコミットとGitリポジトリへのプッシュの両方を行います)。