Support Article
Properties are missing in declare expression
SA-9391
Summary
After migration from 6.2 sp1 to 7.1.6, If there are when conditions, in a declare expression, that has properties of the format -> .cData.noteData.InsuredData(1).fullName. (embeded properties basically), then they are not visible. However if we open xml of the declare expression they are present.
Error Messages
NA
Steps to Reproduce
Create declare expressions with when conditions which uses embeded properties, in prpc 62sp1.
Migrate it to 716.
Then open the declare expression in 716
Root Cause
The root cause of this problem is a defect in Pegasystems’ code/rules. In step 6 of activity Embed-UserFunction. pzPopulateDropdownFBUIParameters_DeclareExp, code determines values of parameters passed to corresponding functions. This parsing logic had flaw as it always used to depend on lastIndexOf("(") to be the one which denotes start of list of parameters list in given expression ex: in this @(Pega-RULES:ExpressionEvaluators).evaluateWhen("AddWorkAllowed") it would have been "(" before "Add" and thus works.
This failed in scenarios like @(Pega-RULES:Utilities).PropertyHasValue(tools, ".pgprop(1).prop1") where last index of "(" was actually inside a parameter's value.
Resolution
This issue is resolved by hotfix item HFix-21937
Published May 8, 2015 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.