Discussion
ATIT
SA
Last activity: 25 Jan 2016 17:40 EST
Property reference can't be used as subscript in data page
Why we can't use the property reference as data page subscript. If refer it is throwing below run time error.
Expression: @(Pega-RULES:Default).PageExists("D_Interaction[pyWorkPage.CAParentID].pyWorkParty(Patient)")
Flow PatientProviderSearch had an error in step Decision1: com.pega.pegarules.pub.runtime.IndeterminateConditionalException: in RULE-OBJ-WHEN CVD-FW-CCF-WORK ISPATIENTCONTACT #20150708T134929.892 GMT: The reference D_Interaction[pyWorkPage.CAParentID].pyWorkParty(Patient) is not valid. Reason: declare page parameters not supported by PropertyReference
Any idea?
Thanks
-
Like (0)
-
Share this page Facebook Twitter LinkedIn Email Copying... Copied!
Pegasystems Inc.
US
This is a complicated post to unravel, but I'm assuming you have a page that you are trying to check on (using PageExists) and you are trying to have PRPC find it via this data page reference. Apparently PRPC is trying to find your page reference but cannot do it at runtime using the parameters being passed to the data page. I don't have an answer regarding why you can't use a property reference, but I'm wondering if there is any other way to check for the existence of the page besides using the data page property reference.
ATIT
SA
Thank you very much for the reply.
We are working on upgrade project 6.3 to 7.1.7. pega 7.1.x versions using data pages instead of CAInteration ,CAPortalinteraction etc. What i'm trying to do here is, changing the references where it is refered D_Ineraction pages instead of CAPotalInteraction pages. We could change the references in activity steps. but not in when rules.
Original Code:
@(Pega-RULES:Default).PageExists("CAPortalInteraction.pyWorkParty(Patient)")
What i am looking for:
Thank you very much for the reply.
We are working on upgrade project 6.3 to 7.1.7. pega 7.1.x versions using data pages instead of CAInteration ,CAPortalinteraction etc. What i'm trying to do here is, changing the references where it is refered D_Ineraction pages instead of CAPotalInteraction pages. We could change the references in activity steps. but not in when rules.
Original Code:
@(Pega-RULES:Default).PageExists("CAPortalInteraction.pyWorkParty(Patient)")
What i am looking for:
@(Pega-RULES:Default).PageExists("D_Interaction[pyWorkPage.CAParentID].pyWorkParty(Patient)")
Pegasystems Inc.
US
Are you sure the When rule has the same context and/or Pages and Classes entries as the Activity? Ensure there are no other configuration issues that are causing the disparity between what you did in the Activity vs what you are trying to do in the When rule.
IKOR
AU
I have couple of questions before i can shed some answers for your post.
1. What is the context of activity which is referring the Datapage. Is it a work layer or Data layer?
2. How the Data Page is getting communicated for .CAParentID? Is it through Param variable in DP?
Cheers,
Naren
Updated: 14 Jul 2015 7:37 EDT
ATIT
SA
1. There is property set step in activity as follows. Activity is in PegaCA-Data-Interactionhistory layer. This is working fine.
2. CAParentID property is available in pyworkpage.
If we refer the same in expression it gives runtime error as i mentioned above..
Expression: @(Pega-RULES:Default).PageExists("D_Interaction[pyWorkPage.CAParentID].pyWorkParty(Patient)")
ATIT
SA
I changed the when rule to "D_Interaction[pyWorkPage.CAParentID].pyWorkParty(Patient).ProvierID is null" instead of pageexist expression. Then problem is solved. Anyway we can't use property reference in the the data pages subscript where we pass them as string parameter.
Thank you very much.
EVONSYS
LK
"PageExist" function is supprting for "D_Interaction" page because "PageExist" function parameter type is "String". When we are passing "D_Interaction[pyWorkPage.CAParentID]" as parameter, it fails from the function. I have found two solutions to overcome this issue.
Option 1
Create new function to pass "D_Interaction[]" page as a "clipboard page" type.
Option 2
Define parameter page first. Then convert "D_Interaction[]" page to "String" type(You can use GetName function to convert the "D_Interaction" page to String). Pass converted data page string parameter to "PageExist" function.
You can use above options depend on your requirement. Hope this will help you and others, specially in upgrade projects.
Pegasystems Inc.
DE
Did you try this: @(Pega-RULES:Default).PageExists("D_Interaction[" + pyWorkPage.CAParentID + "].pyWorkParty(Patient)") or @(Pega-RULES:Default).PageExists("D_Interaction[\"" + pyWorkPage.CAParentID + "\"].pyWorkParty(Patient)") ?