I have a parameterized data page that does lookup a data instance, and it has error handling configured with response data transform.
Then I have an activity rule that in one of the step, the step page is the data page above with the parameters. The step has no method and the transition step uses pxDataPageHasErrors when rule to check if the data page has any error.
My problem is that when I trace the activity, I can see that the step page for that step is not the data page but the Primary page. Thus, the when rule fails to detect error in the data page. I have used similar mechanism to detect error on another data page and it works fine there.
Have you seen this before? Did I mis-use the pxDataPageHasErrors when rule?
This sounds correct. I just tested this in a 7.2.2 and a latest build system and got expected behavior, see attached.
Just a minor point, if the page doesn't exist during "Step Begin" like when using a Page-New or a Data Page for the first time, it will appear to be the primary page. In the attached screenshot, I had already ran this test so it appears in the "Step Begin" line. However, by the time you get to "When Begin" and "When End" the Data Page should appear in your trace as the step page.
An activity has 10 steps with each step's step page is the same parameterized data page. As mentioned above, in each step the system will check if the data page is fresh and reloaded if needed. Though it is rare but possible, step 1 and step 10's data page content will be different. What is the recommended design pattern if I need to maintain consistent data page content within the different steps of the activity?
I'd suggest posting a new question for this so future generations will be able find your question and it's answer.
In any case, I would carefully consider the settings on the Load Management tab balancing 1) keeping your data as fresh as possible and 2) performance. For example, if you are making database calls at every activity step to check for freshness, you'll probably have performance problems.