PerformContainerValidations activity does not work correctly
When the Param.ValidateCustomerIDWithDB activity is set to true, the activity calls the LoadSingleCustomerData. The LoadSingleCustomerData activity performs a Page-New on the Customer Page and fills the page. The Customer Page always exists and is never removed.
The 'Customer is not found' error must display only when the following precondition is true:
Param.ValidateCustomerIDWithDB== true && @PageExistsWithClass("Customer",tools) == false.
Since, the Customer Page always exists, this preconditon is never true. Hence, error does not occur even when the user is not in the database.
When the user is not in the database, the activity must generate the error 'Customer is not found'
Steps to Reproduce
- Set the Param.ValidateCustomerIDWithDB to true
- Set User ID on the request with a number that is not in the database.
- Call the HandleContainerExecution_V2 activity. Error message does not display when the user does not exist in the database.
A defect in Pegasystems’ code or rules.
Perform the following local-change:
Set the param.ValidateCustomerIDWithDB property to true in the HandleContainerExecution_V2 or HandleContainerExecution activity.
In the PerformContainerValidations activity, the When condition in Step 6 has the below conditions (considering the property pyEmail1 or any other property being used here is mapped on the external mapping of PegaMKT-Data-Customer class).
When Property-Set method, set Step page to tempContainerPage
When Param.ValidateCustomerIDWithDB==true, if true > Continue Whens
When @PropertyExists(Customer.pyEmail1), if true > Skip Step
0% found this useful