Skip to main content

チャレンジ

ソリューションへのフレームワークコンポーネントの追加

8 タスク

45 分

Visible to all users
初級 Pega Platform 8.2 日本語

シナリオ

最初の2つのアプリケーションプロジェクトが終了しました。 ソリューションのドキュメントを確認したところ、MainPrjという名前のユーザーインターフェイスプロジェクトが必要です。このプロジェクトには顧客情報を表示し、顧客の郵便番号に基づいて、最も近い店舗住所を表示するWindowsフォームが含まれます。 同時に多数のケースが開かれることがあるため、コンボボックスを使用してアカウント番号を収集します。このようにすると、エージェントはコンボボックスで別の顧客のアカウント番号を選択して顧客を切り替えることができます。

ソリューションのドキュメントに従い、「Customer Information」ウィンドウで、CRMアプリケーションから顧客のアカウント情報を表示します。 1つのプロジェクトから別のプロジェクトの間で効率的にコミュニケーションをとり、データを渡すには、ソリューションのインタラクションフレームワークを使用し、顧客情報と店舗情報が反映されるようにフレームワークXMLファイルを更新します。

ソリューションドキュメントでは、最終的なソリューションは、1つのソリューションとして動作し、実装される必要があると示されています。 MainPrjには、他のアプリケーションへのパイプラインとなるユーザーインターフェイスが含まれています。 MainPrjプロジェクトは、他のプロジェクトを参照してビジネスニーズを満たし、そしてソリューションのStartup Projectとして設定される必要もあります。

ケースを確認する際、「Customer Information」ウィンドウのコンボボックスにアカウント番号が表示され、ユーザーは開かれているアカウント間で簡単に切り替えることができます。 既存のオートメーションでCRMアプリケーションにログインし、「User 1」ボタンをクリックして最初の顧客にアクセスします。 ケースに基づき、顧客のアカウントが開かれると、ソリューションが必要な情報をすべて更新し、インタラクションフレームワークを起動してデータのソートと共有を開始します。 このビジネスケースでは、フレームワークのインタラクションキーはCRMアカウント番号である必要があるとされています。

課題

ソリューションのこの部分では、以下のタスクを行います。

オブジェクト名

更新するプロパティ

プロパティ値

Customer Information

Text

TopMost

Customer Information

True

label1

Design(Name)

Text

Font > Bold

Font > ForeColor -

MainlblCurrentAcct

Current Account

True

Highlight

label2

Design(Name)

Text

Text Font > Bold

Font > ForeColor -

MainlblGetAcct

Get Account

True

Highlight

label3

Design(Name)

Text

Text Font > Bold

Font > ForeColor -

MainlblName

Customer Name

(True)

Highlight

label4

Design(Name)

Text

Text Font > Bold

MainlblAddress

Address

True

label5

Design(Name)

Text

Text Font > Bold

MainlblCity

City

True

label6

Design(Name)

Text

Text Font > Bold

MainlblState

State

True

label7

Design(Name)

Text

Text Font > Bold

MainlblZip

ZIP Code

True

combobox1

Design(Name)

MaxDropDownItems

Sorted

MaincmbGetAcct

100

True

textbox1

Design(Name)

Text

MaintxtCurrentAcct

-------- (8個のダッシュ)

textbox2

Design(Name)

MaintxtName

textbox3

Design(Name)

MaintxtAddress

textbox4

Design(Name)

MaintxtCity

textbox5

Design(Name)

MaintxtState

textbox6

Design(Name)

MaintxtZip

Groupbox1

Design(Name)

Text

MaingboxNearestStore

ACME Nearest Store

Button1

Design(Name)

Text

MainbtnNearestStor

Find Store

Label 8

Design(Name)

Text

MainlblNearestStore

----- (5個のダッシュ)

  • MainPrjという名前のプロジェクトを追加し、それをStartup Projectとして設定します。
  • CustomerInformationという名前のWindowsフォームをMainPrjに追加します。
  • Toolboxから以下の.Netコントロールを追加し、以下の表に基づいてプロパティを更新します。
  • CRMPrjおよびMainPrjプロジェクトにグローバルコンテナを追加し、順に「_GC_CRM」「_GC_Main」という名前にします。
  • 「TrainingCertificationSln」ディレクトリーの「MainPrj」フォルダーに、interaction-call.xmlを追加します。
  • CRMPrj、ACMESearchPrj、MainPrjプロジェクトのグローバルコンテナに、Interaction Managerコンポーネントを追加し設定します。 各インタラクションマネージャーコンポーネントの名前を「IntMgr」に変更し、それらのコンポーネントをinteraction-call.xmlに関連付けます。
  • interaction-call.xmlドキュメントに、7個のアカウント情報アイテム、データタイプ、デフォルト値を追加します。

     

    コンテキストアイテム データタイプ デフォルト値
    AcctNum string 10000
    Name string [No Active Call]
    Adress string xxxxx
    City string xxxxx
    State string xxxxx
    ZipCode string xxxxx
    NearestStore string xxxxx
  • MainPrjから、CRMPrjおよびACMESearchPrjへのプロジェクト参照を作成します。
  • ACMESearchPrjのfrmTestプロジェクトアイテムを、「Not to run」に設定します。
  • CRMChild Createdイベントからインタラクションを開始する、CRM_E_CRMChild_Createdというオートメーションを作成します。
  • インタラクション開始後に、コンボボックスに顧客のアカウント番号を追加するオートメーションを作成します。
  • 「CRMChild」ウィンドウが閉じると、インタラクションを停止するオートメーションを作成します。
  • 「CRMChild」ウィンドウが閉じると、コンボボックスからアカウント番号を削除するオートメーションを作成します。

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

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

詳細なタスク

1 新しいプロジェクトとユーザーインターフェイスの作成

  1. ソリューションエクスプローラーから、「TrainingCertificationSln」を右クリックして、「Add」>「New Project」を選択し、「Add New Project」ウィンドウを表示します。
  2. 「Add New Project」ウィンドウで、「Empty Pega Robotics Project」を選択します。
  3. 「Add New Project」ウィンドウの「Name」フィールドに、「MainPrj」と入力します。
  4. 「OK」をクリックしてウィンドウを閉じ、ソリューションエクスプローラーを更新して新しいプロジェクトを含めます。
  5. ソリューションエクスプローラーから、「MainPrj」を右クリックして、「Add」>「New Windows Form」を選択し、「Add New Item」ウィンドウを表示します。Windowsフォームアイテムがハイライトされています。
  6. 「Add New Item」ウィンドウの「Name」フィールドに、「frmCustInfo」と入力します。
  7. 「Add New Item」ウィンドウで「Add」」をクリックし、ウィンドウを閉じて、デザインエリアで 「frmCustInfo.os」タブを開きます。
    Mainprj
  8. Object Hierarchyで、「frmCustInfo」をクリックして、コントロールをハイライトし、「Properties」ウィンドウを更新します。
  9. 「Properties」ウィンドウで、「Text」プロパティを探し、プロパティ名を「Customer Information」に変更します。
    Customer information
  10. 「Properties」ウィンドウで、「TopMost」プロパティを「True」に設定します。
  11. メニューバーから、「File」>「Save All」を選択して変更内容を保存します。
  12. Toolboxで「Common Controls」セクションと「Containers」セクションを展開し、必要なコントロールを探します。
    Common controls
  13. Toolboxから、「Customer Information」ウィンドウに次のコントロールをドラッグアンドドロップし、次の画像に従ってコントロールを配置します。
    • 8個のLabelコントロール
    • 6個のTextboxコントロール
    • 1個のComboBoxコントロール
    • 1個のGroupBoxコントロール
    • 1個のButtonコントロール
    frm customer info
  14. メニューバーから、「File」>「Save All」を選択してユーザーインターフェイスを保存します。
  15. Object Hierarchyで各コントロールを選択したら、「Properties」ウィンドウを使用し、各コントロールのプロパティを更新します。

    オブジェクト名

    更新するプロパティ

    プロパティ値

    label1

    Design Name

    Text

    Font > Bold

    Font > ForeColor -

    MainlblCurrentAcct

    Current Account

    True

    Highlight

    label2

    Design Name

    Text

    Text Font > Bold

    Font > ForeColor -

    MainlblGetAcct

    Get Account

    True

    Highlight

    label3

    Design Name

    Text

    Text Font > Bold

    Font > ForeColor -

    MainlblName

    Customer Name

    (True)

    Highlight

    label4

    Design Name

    Text

    Text Font > Bold

    MainlblAddress

    Address

    True

    label5

    Design Name

    Text

    Text Font > Bold

    MainlblCity

    City

    True

    label6

    Design Name

    Text

    Text Font > Bold

    MainlblState

    State

    True

    label7

    Design Name

    Text

    Text Font > Bold

    MainlblZip

    ZIP Code

    True

    combobox1

    Design Name

    MaxDropDownItems

    Sorted

    MaincmbGetAcct

    100

    True

    textbox1

    Design Name

    Text

    MaintxtCurrentAcct

    -------- (8個のダッシュ)

    textbox2

    Design Name

    MaintxtName

    textbox3

    Design Name

    MaintxtAddress

    textbox4

    Design Name

    MaintxtCity

    textbox5

    Design Name

    MaintxtState

    textbox6

    Design Name

    MaintxtZip

    Groupbox1

    Design Name

    Text

    MaingboxNearestStore

    ACME Nearest Store

    Button1

    Design Name

    Text

    MainbtnNearestStor

    Find Store

    Label 8

    Design Name

    Text

    MainlblNearestStore

    ----- (5個のダッシュ)

    完成すると、「Object Explorer」ウィンドウは次の画像のようになります。

    object explorer 3
  16. メニューバーから「File」>「Save All」を選択し、ユーザーインターフェイスに編集内容を保存します。

2 インタラクションマネージャーコンポーネントの追加

  1. ソリューションエクスプローラーで、「CRMPrj」を右クリックし、「Add」>「New Item」を選択して、「Add New Item」」ウィンドウを表示します。
  2. 「Add New Item」」ウィンドウで、「Global Container」」をクリックしてプロジェクトアイテムをハイライトします。
  3. 「Add New Item」ウィンドウの「Name」フィールドに、「_GC_CRM」と入力します。
  4. 「Add New Item」ウィンドウで「Add」」をクリックしてウィンドウを閉じ、デザインエリアでグローバルコンテナを開きます。
  5. 手順の1~4を繰り返し、_GC_Mainというという名前のMainPrj のためにグローバルコンテナを作成します。
  6. interaction-call.zipファイルをクリックしてダウンロードします。 
  7. My Documentsのソリューションディレクトリーで、interaction-call.xmlをコピーしてMainPrjプロジェクトフォルダー(C:\Users\{userid}\Documents\Pega Robot Studio\Projects\TrainingCertificationSln\MainPrj)に貼り付けます。
    main prj
  8. ソリューションエクスプローラーで、「_GC_CRM.os」をダブルクリックし、デザインウィンドウでグローバルコンテナを開きます。
  9. Toolboxの「Interaction Management」セクションで、InteractionManager「_GC_CRM.os」ウィンドウにドラッグアンドドロップします。
  10. 「Properties」ウィンドウの「(Name)」フィールドで、「interactionManager1」の名前を「IntMgr」に変更します。
    GC Main IntMgr property
  11. IntMgrの「Properties」ウィンドウで、「Configuration File」プロパティをクリックし、エリプスボタンを表示します。
  12. Configurationファイルプロパティで、省略符号をクリックして、「Open File」ウィンドウを表示します。
  13. ソリューションディレクトリーの「Open File」ウィンドウで、「MainPrj」プロジェクトフォルダーに移動します。
  14. 「Open File」ウィンドウの「MainPrj」フォルダーで、「interaction-call.xml」をクリックしてファイルを選択します。
  15. 「Open File」ウィンドウで、「Open」をクリックしてファイルを関連付け、「Open File」ウィンドウを閉じます。
  16. 手順の8~15を繰り返し、Interaction Managerコンポーネントを_GC_Main_GC_ACMEに追加します。
  17. メニューバーから、「File」>「Save All」を選択し、新しいグローバルコンテナをプロジェクトとインタラクションマネージャーコンポーネントに保存します。

3 project-to-project referencesの作成

  1. ソリューションエクスプローラーで、「MainPrj」プロジェクトを右クリックして、「Add」>「Reference」を選択し、「Add Reference」ウィンドウを開きます。
  2. 「Add References」ウィンドウで、「Projects」タブをクリックします。
  3. 「Project」タブで、Shiftキーを押したまま、「CRMPrj」「ACMESearchPrj」を選択します。
  4. 「Add References」ウィンドウで「OK」をクリックして「Add Reference」ウィンドウを閉じ、ソリューションエクスプローラーの「MainPrj」の下にある「Reference」フォルダーにプロジェクトを表示します。
    Add reference
  5. ソリューションエクスプローラーで、「MainPr」を右クリックして、「Manage Imported Projects」を選択し、「Import Projects」ウィンドウを開きます。
  6. 「Available Projects」リストの「Import Projects」ウィンドウで、「>>」をクリックして両方のプロジェクトを「Imports」リストに移動します。
    Import Projects
  7. 「Import Projects」ウィンドウで、「OK」をクリックしてウィンドウを閉じ、MainPrjにプロジェクトをインポートします。
  8. ソリューションエクスプローラーで、「MainPrj」を右クリックし、「Set as StartUp Project」を選択します。 MainPrjテキストが太字になります。
  9. ソリューションエクスプローラーの「ACMESearchPrj」で、「frmTest」を右クリックし、「Run Actions」>「Set To 'Not Run'」を選択して、ソリューションエクスプローラーでそのプロジェクトアイテム上に小さな赤い停止アイコンを表示します。
    Not to run
  10. メニューバーから、「File」>「Save All」を選択して編集内容を保存します。

4 インタラクション開始後に、コンボボックスにアカウント番号追加するオートメーションの作成

  1. ソリューションエクスプローラーで、「MainPrj」プロジェクトを右クリックして、「Add」>「New Folder」を選択します。
  2. ソリューションエクスプローラーの新しいフォルダーで、「Events」と入力してフォルダーの名前を変更します。
  3. ソリューションエクスプローラーで、「Events」フォルダーを右クリックし、「Add」>「New Automation」を選択して、「Add New Item」ウィンドウを表示します。
  4. 「Add New Item」ウィンドウの「Name」フィールドに、「Main_E_IntMgr_InteractionStarted」と入力します。
  5. Add New Item」ウィンドウで「Add」をクリックしてウィンドウを閉じ、デザインエリアでオートメーションを開きます。
  6. _GC_MainのObject Hierarchyから、「IntMgr」をクリックして「InteractionManager」コンポーネントをハイライトします。
  7. Object Inspectorで、「Show Events Only」をクリックしてイベントをフィルタします。
  8. イベントのリストから、「InteractionStarted」をオートメーションにドラッグアンドドロップします。
  9. IntMgr.InteractionStartedデザインブロックの右上で、上向き矢印をクリックしてKeyパラメーターを公開します。
  10. frmCustInfoのObject Hierarchyで、「MaincmbGetAcct」コントロールを選択してハイライトします。
  11. Object Explorerの右上で「Explore Component Properties」を選択し、Object Hierarchyでコンポーネントプロパティを更新します。
    explore component
  12. Component Propertiesの結果で、コンポーネントのリストを下にスクロールし、「Items」を選択してコンポーネントをハイライトします。
    items
  13. Object Inspectorで、「Configure Type」をクリックし「Object Configuration」ウィンドウを表示します。
  14. 「Object Configuration」ウィンドウで、「Methods」カテゴリーを展開します。
  15. 「Object Configuration」ウィンドウで、「Add (1 parameter)」メソッドのチェックボックスと、「Remove (1 parameter)」メソッドのチェックボックスを選択します。
    object collection
  16. 「Object Configuration」ウィンドウで、「OK」」をクリックしてウィンドウを閉じます。
  17. Object Inspectorで、「Show Methods Only」をクリックしてオブジェクトのメソッドを表示します。
  18. Object Inspectorで、「Add」メソッドをオートメーションにドラッグアンドロップします。
  19. 次の図に示すように、オートメーションでデザインブロックを接続します。
    intmgr
  20. メニューバーから、「File」>「Save All」を選択します。
  21. メニューバーから、「Debug」>「Start Debugging」を選択します。 コンボボックスには、アカウント番号23453があります。
  22. CRMアプリケーションで、「User 2」をクリックします。 アカウント番号23454がコンボボックスに入力されます。
  23. メニューバーから、「Debug」>「Stop Debugging」を選択してデバッグを停止し、ウィンドウを閉じます。

5 interaction-call.xmlの変更

  1. ソリューションエクスプローラーで、「_GC_Main.os」をダブルクリックし、それをデザインエリアで開きます。
  2. 「_GC_Main」ウィンドウで、「IntMgr」を右クリックしてコンテキストメニューを表示します。
  3. コンテキストメニューで、「Modify Configuration」をダブルクリックし、デザインエリアでinteraction-call.xmlファイルを開きます。
  4. interation-call.xmlで、Contextセクションを探します。
  5. Contextセクションで、以下のコンテキスト値を新しく追加します。 XMLファイルの新規または編集された各行には、左の余白に黄色のマーカーが表示されます。

     

    コンテキストアイテム データタイプ デフォルト値
    AcctNum string 10000
    Name string [No Active Call]
    Address string xxxxx
    City string xxxxx
    State string xxxxx
    ZipCode string xxxxx
    NearestStore string xxxxx
    Value
  6. メニューバーから「File」>「Save All」を選択し、編集内容をXMLファイルに保存します。 ファイルの黄色のマーカーが緑で表示されます。
  7. メニューバーから、「Build」>「Clean Solution」を選択し、メモリーからアイテムを削除します。
  8. 削除を終えたら、メニューバーから「Build」>「Rebuild Solution」を選択し、新しいXMLエントリーをソリューションで使用できることを確認し、メモリーのキャッシュに保存された古いXMLを削除します。

6 「CRMChild」ウィンドウからインタラクションを開始するオートメーションの作成

  1. ソリューションエクスプローラーの「CRMPrj」プロジェクト」で、「Events」フォルダーを右クリックし、「Add」>「New Automation」を選択して、「Add New Item」ウィンドウを表示します。
  2. 「Add New Item」ウィンドウの「Name」フィールドに、「CRM_E_CRMChild_Created」と入力します。
  3. Add New Item」ウィンドウで「Add」をクリックしてウィンドウを閉じ、デザインエリアでオートメーションを開きます。
  4. オートメーションで、次のデザインブロックを追加します。
    補足: Object Inspectorにコントロールのプロパティ、イベント、メソッドが存在しない場合、「Configure Type」アイコンをクリックして表示するオプションを選択します。
    プロジェクト項目ソース コントロール 説明/設定
    CRM CRMChild.Createdイベント このソリューションでは、「New Call」ウィンドウが表示されると常にオートメーションロジックが実行されます。
    CRM CRMlblAcctNum.WaitForCreateメソッド このメソッドは、値をCRMChildのキープロパティに割り当てる前に、「Account Number」フィールドが作成されるのを待ちます。
    CRM CRMlblAcctNum.Textプロパティ アカウント番号のテキストがキーです。
    CRM CRMChild.Keyプロパティ CRMChildのキープロパティをアカウント番号テキストに割り当てます。
    _GC_CRM CRMIntMgr.StartInteraction(2つのパラメーター)メソッド デザインブロックで、「Activate」をクリックしてプロパティをTrueに設定します。
  5. 次の図に示すように、オートメーションでデザインブロックを接続します。
    crm child created
  6. 「Toolbox」ウィンドウの「Advanced」セクションで、「MessageDialog」」コンポーネントをオートメーションにドラッグアンドドロップして、「Overwrite」ウィンドウを表示します。
  7. 「Overwrite」ウィンドウで、2番目のラジオボタンを選択し、「OK」をクリックしてデザインブロックをオートメーションに追加します。
  8. MessageDialog1デザインブロックで、「message」」をクリックし、「CRM Account is not available」と入力します。
  9. 次の図に示すように、オートメーションで、CRMlblAcctNum.WaitForCreate False出力をMessageDialog1.Show入力に接続します。
    crm account
  10. メニューバーから、「File」>「Save All」を選択してオートメーションの編集内容を保存します。

7 「CRMChild」ウィンドウが閉じるとインタラクションを停止するオートメーションの作成

  1. CRMPrjのソリューションエクスプローラーで、「Events」を右クリックして「Add」>「New Automation」を選択し、「Add New Item」ウィンドウを表示します。
  2. 「Add New Item」ウィンドウの「Name」フィールドに、「CRM_E_CRMChild_Closing」と入力します。
  3. Add New Item」ウィンドウで「Add」をクリックしてウィンドウを閉じ、デザインエリアでオートメーションを開きます。
  4. Object Explorerで、次のデザインブロックを「CRM_E_CRMChild_Closing」オートメーションに追加します。
    プロジェクト項目ソース コントロール 説明/設定
    CRM CRMChild.Closingイベント このソリューションでは、「CRMChild」ウィンドウが閉じると、常にオートメーションロジックが実行されます。
    CRM CRMlblAcctNum.Textプロパティ このテキストプロパティは、フレームワーク内でインタラクションキーの値を提供します。
    CRM IntMgr.CloseInteractionメソッド Close Interactionメソッドは、インタラクションキーに基づいて、メモリーに格納されたコンテキスト値を削除します。
  5. 次の図に示すように、オートメーションでデザインブロックを接続します。 「CRMlblAcctNum」を「IntMgr.CloseInteraction」に接続すると、閉じるインタラクションの識別子を求める「Key」パラメーターが表示されます。 「None」を選択して、「Key」に変更します。 これで、インタラクションキーをアカウント番号として定義できます。
    child closing
  6. メニューから、「File」>「Save All」を選択してオートメーションを保存します。

8 「CRMChild」ウィンドウが閉じるとコンボボックスからアカウント番号を削除するオートメーションの作成

  1. MainPrjのソリューションエクスプローラーで、「Events」を右クリックして「Add」>「New Automation」を選択し、「Add New Item」」ウィンドウを表示します。
  2. 「Add New Item」ウィンドウの「Name」フィールドに、「Main_E_IntMgr_InteractionClosed」と入力します。
  3. 「Add New Item」ウィンドウで「Add」」をクリックしてデザインエリアにオートメーションを開き、ウィンドウを閉じます。
  4. Object Explorerで、次のデザインブロックを「Main_E_IntMgr_InteractionClosed」オートメーションに追加します。
    プロジェクト項目ソース コントロール 説明/設定
    _Main_GC IntMgr.InteractionClosedイベント デザインブロックで下向き矢印をクリックして、インタラクションキーパラメーターを公開します。
    CustomerInformation MaincmbGetAcct.Items.Removeメソッド Object Explorerで「Explore Component Properties」ボタンを使用して、Removeメソッドにアクセスします。
  5. 次の図に示すように、オートメーションでデザインブロックを接続します。
    interaction closed
  6. メニューバーから、「File」>「Save All」をクリックしてオートメーションを保存します。
  7. メニューバーから、「Debug」>「Start Debugging」を選択します。 コンボボックスには、アカウント番号23453があります。
  8. CRMアプリケーションで、「User 2」をクリックします。 アカウント番号23454がコンボボックスに入力されます。
  9. CRMアプリケーションで、顧客のウィンドウを閉じます。 ウィンドウに関連付けられたアカウント番号がコンボボックスから消えます。
  10. メニューバーから、「Debug」>「Stop Debugging」を選択してデバッグを停止し、ウィンドウを閉じます。


下記のミッションにも含まれています。

トレーニングを受講中に何か問題がありましたら、こちらをご覧ください: Pega Academy サポートのよくある質問 (FAQ).

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

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

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