Posted: 18 May 2020 20:52 EDT Last activity: 27 Jul 2020 14:18 EDT
Values are empty for properties for an alternate SR class in real-time containers when set in the SR
May you help me please, I am trying to debug an alternate strategy in the NBA Framework, this strategy is set at Engagement Policies-> Eligibility, returning all the outputs when there are. This alternate strategy works fine if I unit test it using a DT and an external strategy to invoke it, emulating the pass of proposition data the NBA will do.
For doing this debugging I have tried to expose a SR property and a proposition property to save there the value of pxSegment and others. To do so I followed the implementation guide for Pega Marketing and Pega Marketing for Financial Services, I am using the latter. I was able to expose the two new properties at the Real-Time Container however the values set at the alternate SR are not being returned. In the case of the Proposition property I see that the value returned is the one set at Customer Attributes, as for the SR property the value is empty.
Debugging TransformSROutput I noticed that the primary page, PublicComponent.pxResults(1), does not have the value for the SR property nor the updated value for the proposition property. My expectation was that this OOTB page contains the results from the alternate strategy.
Notice that setting a value directly to a property from Int-PegaCDH-Container class at TransformSROutput does modify the output as expected, and so is visible in the response json.
Following are the steps I followed from the implementation guide:
Making custom Strategy Result properties available for real-time container data flows
Setting the custom property in a real-time container response
Returning properties of an alternate SR class in a real-time container response
I also took a look to following question in the collaboration center:
Yes, I had “pyDefaultWorkngSet” properly configured but still experienced the behavior. We started to notice some strange behavior after cleaning the IH facts, so decided to clean the server's cache. After that removing and adding the connectors to the NBA designer did work for Container’s properties. Now we can see the values for those properties in the response.
Still pending is to return additional properties strategy, I am wondering if I am placing the rules in the wrong class. In the guides it says to place both “pyDefaultWorkngSet” and “TransformSROutput” in the “alternate SR class”, my understanding is that this “alternate SR class” is <MyOrg>-<MyApp>-Retention-Proactive in my case as I am trying to return additional values for the SR strategy configured in my Retention (Business Issue) - Proactive (Group) at the NBA. I can see the properties in the response, but not the value.
Almost forgot, I am using Pega Marketing for Financial Services 8.4.
Follow next steps at “Returning additional properties in a real-time container response” allowed me to return custom properties as part of the NBA container response for both NBA Designer and Campaigns:
"Making custom Strategy Result properties available for real-time container data flows"
"Setting the custom property in a real-time container response"
At the second step, "Setting the custom property in a real-time container response", create ExtendedContainerProperties data transform at your top level class, <MyOrg>-<MyApp>-SR, the implementation guide only says to save it on your application ruleset but it does not indicate a specific class, I think that is missing.
“Returning properties of an alternate SR class in a real-time container response” step was the part of the guide that generated noise to me as it was the only section mentioning alternate strategies, that is a way of naming custom strategies used in the extension points of the NBA Framework, so I though it was the way of exposing my properties I want to include in my alternate strategy.
Notice that “Returning properties of an alternate SR class in a real-time container response” is not part of the same solution, if you are using a Container for NBA Designer or Campaign, it seems to be use only when you want to use “Supporting Decisions” that was not my case.