In our Pega application, we have a Contact Management screen that allows users to add contacts through two options:
- Add New Contact
- Search Existing Contact
These options are presented using radio buttons within a modal dialog. The contact details are rendered in a table-based UI configuration.
For the Add New Contact flow, contact fields are referenced using properties on the page:
**.GlobalContacts.FirstName
**
The GlobalContacts property is defined as a single page with a source of D_GlobalContacts. The data page accepts pyGUID as a parameter, although the parameter is not intended to be mandatory.
Issue Observed
Previously, users were able to add new contacts without any issues. However, without any recent changes to the property definitions or data page configuration, the application has started throwing the following error when the user selects Add New Contact:
GlobalContacts: No records were found in the lookup with keys: pyGUID =
The error occurs because the Add New Contact flow does not have a pyGUID value when creating a new record, yet the page reference is attempting to resolve through the lookup-backed data page.
Troubleshooting Attempted
We have explored multiple approaches:
-
Converting GlobalContacts to Embedded Data
- This avoids the lookup error.
- However, it adversely impacts the Search Existing Contact functionality, which relies on the existing data page structure.
-
Conditionally Using an Empty Data Transform
- Modified the data page source to invoke an empty Data Transform when:
GlobalContacts.pyGUID == “”
- Modified the data page source to invoke an empty Data Transform when:
Given that this configuration was functioning correctly earlier and no intentional changes were made to the property or data page setup, we are trying to understand:
- What could cause a lookup-backed page property to suddenly start evaluating an empty parameter and throw a “No records found” error?
- Has there been any platform-level behavior change, stricter validation, or conditional rendering behavior that could trigger data page execution during page initialization?
- What would be the recommended approach to support both scenarios:
-
Creating a new contact without a pyGUID
-
Searching/loading an existing contact using pyGUID
Attaching screenshots
-

