Recently I ran into the Reset Pagination error again. From time to time it just rears its ugly head... :-)
It looks like this:
Invalid set of rows requested, the source data of the report has been modified.
And the html looks like this:
Martin Giffy D'Souza has some comprehensive info on the cause of this error (and what to do to prevent it) here
Normally you won't run into this - as long as you remember to always reset the pagination when linking to the page containing the report that causes the problem.
However, in my case the page with the report was accessed via "Two level tabs". I know, that is old school, but it's an old application, my hands are tied. For parent tabs you can set Reset Pagination, but for Standard Tabs there is no such option.
The link of the Standard Tab looks like this:
So, I needed a way to Reset Pagination on the page itself, but of course only when the error occurred. The link we need is already shown on the page, so I created a Dynamic Action that redirects to that link.
See the Dynamic Action code below.
A few notes:
- The eq(0) jQuery selector is added to ensure we only try this once (in case there is more than 1 report with this error on the page).
- This will only work in English applications, since the selector searches for the literal string "Reset Pagination". You could try to look up the applicable translation (I guess using the apex_application_translations view) and use that string.
- For this example I have set the Dynamic Action condition to Never, otherwise this page would keep reloading...
- You might want to consider putting this Dynamic Action on page 0, if you have more than 1 page with this issue.