Posted: 17 Aug 2017 21:45 EDT Last activity: 29 Aug 2017 11:08 EDT
Load Data-Page in activity , FUAInstance-NullMyStepPage
Data page D_Search_Appellant (list, thread level) of type EAOS-EACMSCS-Interface-Contact is loaded by activity Code-Pega-List -> DPLoadCustomerSearch
In the above activity the first step is:
When (.SearchStringWorkID != "")
call activity EAOS-EACMSCS-Work-Interaction -> CPMFindCustomer
step page pyWorkPage (EAOS-EACMSCS-Work-Interaction)
Now, I am trying to load the above data page in a standalone activity as below :
EAOS-EACMSCS-Work-Interaction -> MyCustomActivity
All steps below with step page as tempWorkPage (EAOS-EACMSCS-Work-Interaction-Outbound-Call)
2. Property-Set .SearchStringWorkID = "ABC"
3. Load-DataPage D_Search_Appellant (work pool DSA1)
4. Connect-Wait (work pool DSA1)
On running the custom activity from designer studio, MyCustomActivity fails at step 4 with error:
** Error during Connect-Wait on Pool ID : DSA1, Detail : ** Error loading RULE-DECLARE-PAGES D_SEARCH_APPELLANT #20170617T162921.454 GMT , Reason : The reference .SearchStringWorkID != "" is not valid. Reason: FUAInstance-NullMyStepPage
I replaced 'tempWorkPage' with 'pyWorkPage' and it didn't help
When we call Load-DataPage with a step page, does the datapage's activity run in the same step page context, OR since it's asynchronous load, it's context is different?
I set .SearchStringWorkID in the primary page too and it didn't help either
***Moderator Edit: Vidyaranjan | Updated SR details***
Some background on the issue. In a traditional customer service application we perform an account/contact search, select one of the results and proceed to customer 360 interaction dashboard.
We have a requirement to automatically create (by agent activity) interaction case for a specific account/contact. The case is assigned to 'Outbound Call' workbasket. When a CSR opens this case he/she should see the customer 360 and not contact search screen assignment.
The agent activity I initially wrote, creates an interaction page and sets the contact id. The D_Search_Appeallant is triggered before the relevant values are available and I tried to workaround by manually load the data page on demand (as in the original question) but didn't work.
Declare OnChange rule CPMGetContactData gets triggered when ContactId is set and the corresponding activity runs. The SearchStringWorkID and AccountNumber properties therefore should be set before ContactId is set. This change allows D_SEARCH_APPELLANT to be loaded with valid results. With this change there's no need to delete/manually load the data page.
The below new activity works.
All steps on step page pyWorkPage of type Interaction Outbound Call.
I named step page as 'pyWorkPage' because some of the OTB activities are looking for this specific page name (When rule in activity CPMOnChangeGetContactData for example).
In the flow AppContactSearch, after Start shape, I am checking if .InitiatedFromAgent = true then proceed directly to the subprocess 'Find Contact' (skip 'Search Contact' assignment). On the connector for this new path to Find Contact, apply data transform CPMSetSelectedValues
In the data transform PegaCA-Work-Interaction -> pyDefault, the default flowname is set to CAInteraction. If CPMIsInteractionPortal is true then flowname is set to CPMInteraction. Change the default flowname or perform check so that if it's running by an agent then to use CPMInteraction flow and not CAInteraction