アプリケーションデータの操作
3 タスク
20 分
初級
Pega Platform 8.7
データ統合
日本語
シナリオ
顧客に提供されたサービスの料金のみが請求されるようにするため、プログラムマネージャーはサービスプロバイダによって実施されたサービスのリストをアプリケーションで表示したいと考えています。 リストには、以下の情報が含まれている必要があります。
- 実行したサービスの名前
- サービスの単価
- サービスを実行した回数
- 各サービスの総費用
- 実行したサービスの総費用
「Perform service」フローで、「CopySelectedServices」データトランスフォームを設定し、「Service」ケースから「Assistance request」ケースに実施されたサービスをコピーします。
以下の図は、「Assistance request」ケースタイプにおける「Selected services Embedded」データタイプの関係と、サービスのケースタイプにおける「Services」データの関係と、「Service offered」データタイプの関係を示しています。
以下の表は、チャレンジに必要なログイン情報をまとめたものです。
ロール | ユーザー名 | パスワード |
---|---|---|
アプリケーションデベロッパー | author@gogoroad | pega123! |
補足: 練習環境では、複数のチャレンジの完了をサポートする場合があります。 その結果、チャレンジのウォークスルーに表示される設定は、お客様の環境と完全に一致しない場合があります。
チャレンジ ウォークスルー
詳細なタスク
1 「Review service summary」ステップを設定します。
- App Studioのナビゲーションペインで、Case types > Assistance Requestをクリックして、「Assistance Request」ケースタイプを開きます。
- 「Assistance request」ケースタイプの「Workflow」タブで、「Review service summary」ステップをクリックしてステッププロパティペインを開きます。
- 右側のステッププロパティペインで「Configure view」をクリックすると、ダイアログボックスが表示されます。
- ダイアログボックスで、「Add field」をクリックして、新しいフィールドを設定します。
- 「Selected services」という名前の複数レコードのデータリレーションシップを作成します。 「Type」リストで「Embedded data」を選択します。 「Data object」リストで、「Services offered」を選択します。 「List of records」ラジオボタンをクリックして、複数レコードのデータリレーションシップとして指定します。
- 「Submit & add another」をクリックして、新しいフィールドを設定します。
- 「Invoiced total」という名前の通貨計算フィールドを作成します。 TypeリストでCurrencyを選択します。
- 「Advanced」セクションを展開して、「This is a calculated field (read-only) 」チェックボックスを選択します。
- 「Calculation」セクションの「Function」ドロップダウンで、「Sum of」を選択します。 「Field」ドロップダウンで、「Line total」を選択します。
- Submitをクリックします。
- Description、Quantity、Service、およびUnit Costのフィールドの「Options」で、「Read-only」を選択します。
- 「Submit」をクリックして新しいフィールドを保存し、ケースライフサイクルの「Workflow」タブに戻ります。
- 「Save」をクリックして、ケースライフサイクルの変更を保存します。
2 「CopySelectedServices」データトランスフォームを設定する
- App Studioのナビゲーションパネルで、「Case types」 > 「Service」をクリックして「Service」ケースタイプを開きます。
- Perform serviceプロセスで「Configure Process」をクリックします。
- 「Open process in Dev Studio」をクリックし、フローキャンバスで「Perform service」フロールールを開きます。
ヒント: または、App Explorerのev Studioで、Service > Process > Flowを展開し、PerformServiceを選択してPerform serviceフロールールを開きます。
- フローキャンバスで「Select services」コネクターを右クリックし、「View Properties」を選択して、「Connector properties」ダイアログボックスを表示します。
- 「Connector properties」ダイアログボックスの「Set properties」エリアで、「Apply data transform」を選択して、データトランスフォームをコネクターに追加します。
- 「Data transform」フィールドに「CopySelectedServices」と入力し、データトランスフォームに名前を付けます。
- 「Data transform」フィールドの右側の「Open」アイコンをクリックして、「Create Data Transform」タブを開きます。
- 「Create Data Transform」タブで「Create and open」をクリックして、新しいデータトランスフォームレコードを表示します。
- データトランスフォームレコードの「Definition」タブで、「CopySelectedServices」データトランスフォームを設定します。
- データトランスフォームレコードで、「Action」リストから、「For Each Page In」を選択し、リスト内でアイテムを反復します。 「1.1」とラベルが付き、インデントされた2番目の行がレコードに表示されます。
- 「1」とラベルが付いた行の「Target」フィールドで、「.Services」を入力または選択し、「Services」リスト内でアイテムを反復します。
- 「Source」列で、「Also use each page as source context」チェックボックスを選択し、「Services」ページをソースコンテキストとして使用し、プロパティの参照を解決します。
- 「1.1」とラベルが付いた行の「Actions」リストから、「When」を選択して行を選択する条件を設定します。 「1.1.1」とラベルが付き、インデントされた3番目の行がレコードに表示されます。
- 「1.1」とラベルが付いた行の「Target」フィールドに「.Quantity>0」と入力し、ゼロより大きい数量の行のみを選択します。
- 「1.1.1」とラベルが付いた行の「Actions」リストで、「Append to」を選択し、選択された行のコンテンツを別のリストに付加します。
- 「1.1.1」とラベルが付いた「Target」フィールドに「pyWorkCover.SelectedServices」と入力し、選択された行のコンテンツをAssistance request親ケースの「Selected Services」データリレーションシップにコピーします。
- 「1.1.1」とラベルが付いた「Relation」リストで、「current source page」を選択し、選択した行のコンテンツをServiceケースの「Services」データリレーションシップにコピーします。
- タトランスフォームレコードで「Pages & Classes」タブをクリックして「pyWorkCover」ページを定義し、データトランスフォームが「Selected services」プロパティ参照を完了できるようにします。
- 「Page name」フィールドに、定義するページの名前として「pyWorkCover」を入力します。
- 「Class」フィールドで、「GoGo-GoGoRoad-Work-AssistanceRequest」を入力するか選択して、「pyWorkCover」ページのコンテキストを「Assistance Request」ケースタイプクラスとして定義します。
- 「Save」をクリックして、データトランスフォームの設定を完了します。
- 「PerformService」タブをクリックして、「Perform service」フローレコードに戻ります。
- 「Connector properties」ダイアログボックスで「Submit」をクリックして、「Select services」コネクターの設定を完了し、「CopySelectedServices」データトランスフォームを実行します。
- 「Save」をクリックして、「Perform service」フローレコードの設定を完了します。
3 サービス量のデフォルトのプロパティ値を設定する方法
- App Explorerで、「Service」 > 「Data Model」 > 「Data Transform」を展開し、「pyDefault」をクリックして「pyDefault」データトランスフォームを開きます。
補足: 「pyDefault」が表示されない場合は、「Options」 > 「Refresh App Explorer」をクリックしてApp Explorerを更新します。
- 「Pages & Classes」タブで、「Page name」フィールドに「pyWorkCover」と入力し、「Class」フィールドに「GoGo-GoGoRoad-Work-AssistanceRequest」と入力します。
- 「Definition」タブで、「Add a row」をクリックします。
- 「Action」フィールドで、「For Each Page In」を選択します。
- 「Target」フィールドで「.Services」と入力するか選択します。
- 「Also use each page as source context」ボックスをチェックします。
- 子ステップの「Action」フィールドで、「Set」を選択します。
- 「Target」フィールドで「.Quantity」と入力するか選択します。
- 「Source」フィールドに、「0」と入力します。
- 「Save」をクリックして、新しいバージョンのpyDefaultへの変更を保存します。
作業の確認
- 「Create > New > Assistance Request」をクリックします。
- 「Enter customer information」フォームで、アカウントIDとして「[email protected]」を選択します。
- ケースを「Select services」ビューに進め、Quantity行の各フィールドのデフォルト値が0になっていることを確認します。
- 以下の図に示されている数量を入力し、総費用が210ドルになることを確認します。
- 「Submit」をクリックして「Select services」アサインメントを完了し、「Service」ケースを完了します。 「Review service summary」ビューが表示されます。
- 「Review service summary」ビューで、「Selected Services」の表に、Serviceケースに入力された3つの行が表示され、「Invoice total」フィールドの値が210ドルであることを確認します。
補足: 実際の実装では、「Assistance Request」ケースの選択したサービスのリストが読み取り専用であることと、ユーザーによる項目の追加や削除が制限されることを確認してください。 リストを表示するセクションルールを編集してAdd itemとDeleteのコントロールを削除できますが、これは今回のチャレンジの範囲外です。
補足: リストの最初の行が空になっているのは、「Selected Services」リストの初期化のためです。 pySetFieldDefaultsデータトランスフォームでデフォルトで作成された.SelectedServices(1).pyLabelを削除することで、空の1行目を削除することができますが、これはこのチャレンジの範囲外です。
このチャレンジは、下記のモジュールで学習したことを実践するための内容です。
このモジュールは、下記のミッションにも含まれています。
トレーニングを実施中に問題が発生した場合は、Pega Academy Support FAQsをご確認ください。