Is there a particular rationale behind exclusively loading Active Actions (based on the pyIsActive flag) from the Taxonomy during Pega CDH container call execution? We’ve observed a new rule within the Pega Infinity 23 Strategy framework called ActionFilter, which specifically loads Active Actions for execution. However, we would expect that we should load all Actions designated as Active and also falling within the date range, akin to the logic employed in the TreatmentFilter rule.
@or(@equals("Always", .pyIsPropositionActive),
@and(@equals("Date", .pyIsPropositionActive),
@or(@pxIsBlank(.StartDate),
.StartDate <= .pxDecisionTime),
@or(@pxIsBlank(.EndDate),
.EndDate >= .pxDecisionTime)))
CC: @Saleem_A
Thanks,
Nanjundan Chinnasamy | Pega Lead Decision Architect | DCS
@Nanjundan Chinnasamy
Thank you for your question.
This logic has been in the NBA Designer Strategy Framework for many versions, in '23 it has moved from the Issue Group import strategies to this ActionFilter strategy, this enables Customer Profile Viewer to execute the framework with TestMode to capture Actions filtered by Availability status.
In the Strategy Framework, Proposition Data import shapes automatically execute a function to calculate pyIsActive for each Action (proposition/ strategy result). This calculates pyIsActive based on Always or Date Range. Therefore the only value that needs to be used to assure active propositions are being processed is to filter on .pyIsActive (boolean True/False).
In 23, GOS (Globally Optimised Strategies) now do not import propositions that are marked as inactive (Availability=Never).
This is a different behaviour compared to Treatment logic due to the shape being used. Treatments are imported via a Decision Data shape and are therefore not pre-processed for Availability, therefore the logic you quote is required for Treatments.
Hi @Allan_W_Brooks,
Thanks for your detailed response. confirmed the behaviors with the explanation details shared. We understood the key differences between the “Proposition Data import” and “Decision Data” components to get the only valid records.
Thanks,
Nanjundan Chinnasamy | Pega Lead Decision Architect | DCS