Pega Academy 24.2 DeliveryService “Designing background processing” – Data Pages failing on pyGUID + “No unlocked Rulesets/Version

Hi all — I’m working the Pega Academy challenge “Designing background processing” (Pega Platform 24.2, DeliveryService) and I’m blocked by Data Page parameter behavior and ruleset locking.

Goal: Job Scheduler queries Business Partners expiring within 15 days (50 at a time) and queues each record to QP Membership-Expiry-Notification to send emails.

Issue 1 (pyGUID parameter blank):
During case actions / processing I see warnings like:

“Required parameter ‘pyGUID’ for data page ‘D_Businesspartner’ cannot be blank.”
Tracer shows the page load is happening without a value being passed for pyGUID. I checked the Data Page rule and my parameter shows Required = No (but runtime still complains / fails).

Issue 2 (generated GUID doesn’t work):
If I generate a GUID (@pxGetNewGUID()) and pass it into D_BusinessPartnerLookup / D_Businesspartner, the load fails because the instance cannot be found — which makes sense because it’s a new GUID and not tied to an existing record.

Issue 3 (ruleset lock error):
I also hit:

“No unlocked Rulesets/Versions found that are valid for this record. Unlock at least one Ruleset/Version…”
even though I have rulesets unlocked. It looks like rule resolution is pointing to a ruleset/version I don’t have open for this rule type.

Questions:

  1. What is the intended source of the Business Partner pyGUID in this challenge — should it always come from D_QueryBusinessPartner results and be passed into D_Businesspartner?

  2. If I changed the parameter to not required, how do I confirm which version of the Data Page is actually executing (rule resolution / cache) in this Academy environment?

  3. For the “No unlocked rulesets/versions” error, what’s the best way to determine which ruleset/version Pega is trying to save into and which ruleset should be unlocked in the training app?

I can share tracer snippets / rule names if needed. Thanks.

The problem happens because the Data Page is being called without a valid existing Business Partner identifier and the system is also resolving rules in the wrong application context. The correct approach is to always use the pyGUID coming from the D_QueryBusinessPartner results list and pass that same value into D_Businesspartner instead of generating a new GUID. This ensures the Data Page loads an existing record instead of trying to find a non-existent one. At the same time, make sure the Job Scheduler and processing activity are running under the same application where the correct ruleset version for these Data Pages is unlocked. The “No unlocked Rulesets/Versions” error usually means the execution context is pointing to a different application stack, so fix the application rule resolution so it matches the DeliveryService ruleset stack. Once both the correct pyGUID flow and correct application context are aligned, the Data Page loads and background processing works as expected.