Skip to main content

アプリケーションデータの操作

3 タスク

20 分

Visible to: All users
初級 Pega Platform 8.7 データ統合 日本語
バージョンタグがご希望のコンテンツと一致しているかご確認ください。 または、最新バージョンをご利用ください。

シナリオ

顧客に提供されたサービスの料金のみが請求されるようにするため、プログラムマネージャーはサービスプロバイダによって実施されたサービスのリストをアプリケーションで表示したいと考えています。 リストには、以下の情報が含まれている必要があります。

  • 実行したサービスの名前
  • サービスの単価
  • サービスを実行した回数
  • 各サービスの総費用
  • 実行したサービスの総費用

「Perform service」フローで、「CopySelectedServices」データトランスフォームを設定し、「Service」ケースから「Assistance request」ケースに実施されたサービスをコピーします。

以下の図は、「Assistance request」ケースタイプにおける「Selected services Embedded」データタイプの関係と、サービスのケースタイプにおける「Services」データの関係と、「Service offered」データタイプの関係を示しています。

entity relationship diagram services offered

以下の表は、チャレンジに必要なログイン情報をまとめたものです。

ロール ユーザー名 パスワード
アプリケーションデベロッパー author@gogoroad pega123!
補足: 練習環境では、複数のチャレンジの完了をサポートする場合があります。 その結果、チャレンジのウォークスルーに表示される設定は、お客様の環境と完全に一致しない場合があります。

このチャレンジを完了するには、Pegaインスタンスを起動する必要があります。

起動には5分ほどかかることがありますので、しばらくお待ちください。

チャレンジ ウォークスルー

詳細なタスク

1 「Review service summary」ステップを設定します。

  1. App Studioのナビゲーションペインで、Case types > Assistance Requestをクリックして、「Assistance Request」ケースタイプを開きます。
  2. 「Assistance request」ケースタイプの「Workflow」タブで、「Review service summary」ステップをクリックしてステッププロパティペインを開きます。
  3. 右側のステッププロパティペインで「Configure view」をクリックすると、ダイアログボックスが表示されます。
  4. ダイアログボックスで、「Add field」をクリックして、新しいフィールドを設定します。
  5. 「Selected services」という名前の複数レコードのデータリレーションシップを作成します。 「Type」リストで「Embedded data」を選択します。 「Data object」リストで、「Services offered」を選択します。 「List of records」ラジオボタンをクリックして、複数レコードのデータリレーションシップとして指定します。 
    selected-services
  6. 「Submit & add another」をクリックして、新しいフィールドを設定します。
  7. 「Invoiced total」という名前の通貨計算フィールドを作成します。 TypeリストでCurrencyを選択します。
  8. Advanced」セクションを展開して、「This is a calculated field (read-only) 」チェックボックスを選択します。
  9. Calculation」セクションの「Function」ドロップダウンで、「Sum of」を選択します。 「Field」ドロップダウンで、「Line total」を選択します。
  10. Submitをクリックします。
    Invoiced total field configuration
  11. Description、Quantity、Service、およびUnit Costのフィールドの「Options」で、「Read-only」を選択します。
    Review service summary
  12. 「Submit」をクリックして新しいフィールドを保存し、ケースライフサイクルの「Workflow」タブに戻ります。
  13. 「Save」をクリックして、ケースライフサイクルの変更を保存します。

2 「CopySelectedServices」データトランスフォームを設定する

  1. App Studioのナビゲーションパネルで、「Case types」 > 「Service」をクリックして「Service」ケースタイプを開きます。
  2. Perform serviceプロセスで「Configure Process」をクリックします。
  3. 「Open process in Dev Studio」をクリックし、フローキャンバスで「Perform service」フロールールを開きます。
    ヒント: または、App Explorerのev Studioで、Service > Process > Flowを展開し、PerformServiceを選択してPerform serviceフロールールを開きます。
  4. フローキャンバスで「Select services」コネクターを右クリックし、「View Properties」を選択して、「Connector properties」ダイアログボックスを表示します。
     
    Select services connector View properties
  5. 「Connector properties」ダイアログボックスの「Set properties」エリアで、「Apply data transform」を選択して、データトランスフォームをコネクターに追加します。
  6. 「Data transform」フィールドに「CopySelectedServices」と入力し、データトランスフォームに名前を付けます。 
    connector properties CopySelectedServices data transform
  7. 「Data transform」フィールドの右側の「Open」アイコンをクリックして、「Create Data Transform」タブを開きます。
  8. 「Create Data Transform」タブで「Create and open」をクリックして、新しいデータトランスフォームレコードを表示します。
  9. データトランスフォームレコードの「Definition」タブで、「CopySelectedServices」データトランスフォームを設定します。
    1. データトランスフォームレコードで、「Action」リストから、「For Each Page In」を選択し、リスト内でアイテムを反復します。 「1.1」とラベルが付き、インデントされた2番目の行がレコードに表示されます。
    2. 「1」とラベルが付いた行の「Target」フィールドで、「.Services」を入力または選択し、「Services」リスト内でアイテムを反復します。
    3. 「Source」列で、「Also use each page as source context」チェックボックスを選択し、「Services」ページをソースコンテキストとして使用し、プロパティの参照を解決します。
    4. 「1.1」とラベルが付いた行の「Actions」リストから、「When」を選択して行を選択する条件を設定します。 「1.1.1」とラベルが付き、インデントされた3番目の行がレコードに表示されます。
    5. 「1.1」とラベルが付いた行の「Target」フィールドに「.Quantity>0」と入力し、ゼロより大きい数量の行のみを選択します。
    6. 「1.1.1」とラベルが付いた行の「Actions」リストで、「Append to」を選択し、選択された行のコンテンツを別のリストに付加します。
    7. 「1.1.1」とラベルが付いた「Target」フィールドに「pyWorkCover.SelectedServices」と入力し、選択された行のコンテンツをAssistance request親ケースの「Selected Services」データリレーションシップにコピーします。
    8. 「1.1.1」とラベルが付いた「Relation」リストで、「current source page」を選択し、選択した行のコンテンツをServiceケースの「Services」データリレーションシップにコピーします。 
      data-transform
    9. タトランスフォームレコードで「Pages & Classes」タブをクリックして「pyWorkCover」ページを定義し、データトランスフォームが「Selected services」プロパティ参照を完了できるようにします。
    10. 「Page name」フィールドに、定義するページの名前として「pyWorkCover」を入力します。
    11. 「Class」フィールドで、「GoGo-GoGoRoad-Work-AssistanceRequest」を入力するか選択して、「pyWorkCover」ページのコンテキストを「Assistance Request」ケースタイプクラスとして定義します。 
      page-classes
    12. 「Save」をクリックして、データトランスフォームの設定を完了します。
  10. 「PerformService」タブをクリックして、「Perform service」フローレコードに戻ります。
  11. 「Connector properties」ダイアログボックスで「Submit」をクリックして、「Select services」コネクターの設定を完了し、「CopySelectedServices」データトランスフォームを実行します。
  12. 「Save」をクリックして、「Perform service」フローレコードの設定を完了します。

3 サービス量のデフォルトのプロパティ値を設定する方法

  1. App Explorerで、「Service」 > 「Data Model」 > 「Data Transform」を展開し、「pyDefault」をクリックして「pyDefault」データトランスフォームを開きます。
    補足: 「pyDefault」が表示されない場合は、「Options」 > 「Refresh App Explorer」をクリックしてApp Explorerを更新します。
  2. Pages & Classes」タブで、「Page name」フィールドに「pyWorkCover」と入力し、「Class」フィールドに「GoGo-GoGoRoad-Work-AssistanceRequest」と入力します。
    pagename
  3. Definition」タブで、「Add a row」をクリックします。
  4. Action」フィールドで、「For Each Page In」を選択します。
  5. 「Target」フィールドで「.Services」と入力するか選択します。
  6. Also use each page as source context」ボックスをチェックします。
  7. 子ステップの「Action」フィールドで、「Set」を選択します。
  8. 「Target」フィールドで「.Quantity」と入力するか選択します。
  9. 「Source」フィールドに、「0」と入力します。
    pydefault-2
  10. 「Save」をクリックして、新しいバージョンのpyDefaultへの変更を保存します。

作業の確認

  1. Create > New > Assistance Request」をクリックします。 
  2. Enter customer information」フォームで、アカウントIDとして[email protected]を選択します。
  3. ケースを「Select services」ビューに進め、Quantity行の各フィールドのデフォルト値が0になっていることを確認します。
  4. 以下の図に示されている数量を入力し、総費用が210ドルになることを確認します。 
    services-screen
  5. 「Submit」をクリックして「Select services」アサインメントを完了し、「Service」ケースを完了します。 「Review service summary」ビューが表示されます。
  6. 「Review service summary」ビューで、「Selected Services」の表に、Serviceケースに入力された3つの行が表示され、「Invoice total」フィールドの値が210ドルであることを確認します。
    補足: 実際の実装では、「Assistance Request」ケースの選択したサービスのリストが読み取り専用であることと、ユーザーによる項目の追加や削除が制限されることを確認してください。 リストを表示するセクションルールを編集してAdd itemDeleteのコントロールを削除できますが、これは今回のチャレンジの範囲外です。
    reviewServices
補足: リストの最初の行が空になっているのは、「Selected Services」リストの初期化のためです。 pySetFieldDefaultsデータトランスフォームでデフォルトで作成された.SelectedServices(1).pyLabelを削除することで、空の1行目を削除することができますが、これはこのチャレンジの範囲外です。

このチャレンジは、下記のモジュールで学習したことを実践するための内容です。


このモジュールは、下記のミッションにも含まれています。

If you are having problems with your training, please review the Pega Academy Support FAQs.

このコンテンツは役に立ちましたか?

このコンテンツは 80% のユーザーにとって役に立ちました。

改善できるところはありますか?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice