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

batch run fails using parameterised data page

SA-19753

Summary



Batch run for a strategy fails if using parameterised data page inside strategy.

Error Messages



2016-01-04 10:05:03,166 [l-threads-311880713)] [ STANDARD] [ BNA:01.01.01] ( internal.mgmt.Executable) ERROR Karan Rajput - Exception
com.pega.pegarules.pub.PRRuntimeException: Strategy component Strategy___Result___Final___Output failed to execute
at com.pega.decision.strategy.impl.exec.SequenceComponentExecutor.onError(SequenceComponentExecutor.java:208)

at com.pega.decision.strategy.impl.exec.SequenceComponentExecutor.execute(SequenceComponentExecutor.java:66)
... 169 more
Caused by: com.pega.pegarules.pub.clipboard.InvalidParameterException: cannot be null or blank. page: D_SampleTestCust_pa2676888487419060pz. Details: Invalid value for aReference passed to com.pega.pegarules.data.internal.clipboard.ClipboardPageImpl.getProperty(String, char)

 


Steps to Reproduce



Create a strategy rule and for testing reference a data page with a parameter such as D_Customer[myCustomer]


Root Cause



The syntax used is only accepted when Expression Builder is enabled, which is not the case in Strategy rule.
This is extracted from the documentation:
 
 
Presume you have a data page named D_Customer, with parameters CustID and DetailLevel that let you specify the customer and the level of detail the instance of the data page holds, reference the data page using this syntax:
D_Customer[CustID:myCustomer, DetailLevel:Full] 
If the data page requires only a single parameter, you can provide the parameter without specifying the parameter name. If D_Customer has a single parameter, CustID, use this syntax:
D_Customer[myCustomer]
Note: The system accepts either of the above syntaxes to reference a data page only in a field where the Expression Builder is enabled. For example, you cannot use the syntax in the findPage() PublicAPI method.

Resolution



Use this alternative approach:

 

Create a page property and reference in strategy (in the example below "xavpage"):


 

 

Define the page property (in this example "xavpage")  to be populated via Declare page and via the parameters desired.


Published February 15, 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