Skip to main content

チャレンジ

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

シナリオ

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

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

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

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

entity relationship diagram services offered

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

ロール ユーザー名 パスワード
アプリケーションデベロッパー [email protected] 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.

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

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

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

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