アプリケーションデータの操作
Archived
2 タスク
20 分
シナリオ
顧客に提供されたサービスの料金のみが請求されるようにするため、プログラムマネージャーはサービスプロバイダによって実施されたサービスのリストをアプリケーションで表示したいと考えています。 このリストには実施されたサービスの名前、サービスの単価、サービスの実施回数、各サービスの総費用、および実施されたサービスの総費用を記載しなければなりません。 「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をクリックします。
- 「Submit」をクリックして新しいフィールドを保存し、ケースライフサイクルの「Workflow」タブに戻ります。
- 「Save」をクリックして、ケースライフサイクルの変更を保存します。
2 CopySelectedServicesデータトランスフォームを設定する
- App Studioのナビゲーションパネルで、「Case types」 > 「Service」をクリックして「Service」ケースタイプを開きます。
- Perform serviceプロセスで「Configure Process」をクリックします。
- 「Open process in Dev Studio」をクリックし、フローキャンバスで「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」フローレコードの設定を完了します。
作業の確認
- Dev Studioのヘッダーで「Create」 > 「New」 > 「Assistance Request」をクリックして、新しいケースを作成します。
- ケースを「Service」ステージに進めます。
補足: 「Enter customer information」ステップで、Standardの補償レベルに加入している顧客を選択します。
- 「Select service provider」ビューでサービスプロバイダを選択します。
- 「Select services」ビューで、以下の図に示されている数値を入力します。
- 総費用が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行目を削除することができますが、これはこのチャレンジの範囲外です。