Skip to main content

This content has been archived and is no longer being updated. Links may not function; however, this content may be relevant to outdated versions of the product.

Support Article

PageList function in Declare Expression causes JavaScript error

SA-5807

Summary



You have used a PageList function in a Rule Declare Expression (RDE) affecting one of the fields on your Harness.  For the same form, you are using client-side validation on a field, not necessariily the one participating in the RDE.  You get a NullPointerException when attempting to submit the form.

Error Messages



NullPointerException in SafeURL.put(field,value) {FieldError}. {undefined} is the error that the end user sees.  

There is also an error message in the PegaRules log file.


com.pega.pegarules.pub.PRRuntimeException: Section 'Harness-ConfigureExpressions' execution error on page '' of  class 'PegaGov-Data-CitizenInformation'. : An expression can only have at most one target 

Steps to Reproduce



The error occurs when you submit the form on any screen which uses the problematical RDE and also has client-side validation enabled.  

Root Cause



The root cause of this problem is a defect in Pegasystems’ code/rules.


The issue is caused by an exception thrown on the server in the HTML for the Harness while it was being assembled  prior to being sent down to the client.  This error results in the HTML rule being incompletely assembled, sending incomplete Javascript to the client.  When client-side validation occurs, the NPE is thrown. 

In more detail, workformStandard experienced the error while processing the section rule Harness-ConfigureExpression, as seen by this error in the log file:


com.pega.pegarules.pub.PRRuntimeException: Section 'Harness-ConfigureExpressions' execution error on page '' of  class 'PegaGov-Data-CitizenInformation'. : An expression can only have at most one target 


Resolution



HFix-20484 fixes the issue.


After installing this hotfix, you may subsequently start seeing errors like this when saving certain rules:
 
 Exception 
java.lang.NullPointerException 
at java.util.ArrayList.<init>(ArrayList.java:164) 
at com.pega.pegarules.exec.internal.declare.infengine.cbi.RuntimeDeclarativeClassCore.getRulesThatRequire(RuntimeDeclarativeClassCore.java:1090) 
at com.pega.pegarules.exec.internal.declare.infengine.cbi.RuntimeDeclarativeClass.getRulesThatRequire(RuntimeDeclarativeClass.java:194) 
at com.pega.pegarules.exec.internal.declare.infengine.cbi.WalkingReference.getAllApplicableRules(WalkingReference.java:301) 
at com.pega.pegarules.exec.internal.declare.infengine.cbi.AtomicChangeReferenceImpl.getAllApplicableRules(AtomicChangeReferenceImpl.java:448) 
at com.pega.pegarules.exec.internal.declare.infengine.cbi.LegacyNetwork.getVariableDesignation(LegacyNetwork.java:374) 
at com.pega.pegarules.exec.internal.declare.infengine.cbi.LegacyNetwork.getVariableDesignation(LegacyNetwork.java:190) 
at com.pega.pegarules.exec.internal.declare.infengine.ChainingRuleDesignation.getInputVariables(ChainingRuleDesignation.java:480) 

If you do, you will need to install HFix-20790.

 

Published January 31, 2016 - Updated October 8, 2020

Was this useful?

0% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Community 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
Contact us