In this post I’m going to talk about some limitations you should be aware of when considering whether rollup fields should be used for some calculation or not in a particular scenario. I will just list down the limitations as I find the use of list bit simple to remember than a paragraph of explanation:
Rollup Fields are not updated in real time.
- When you create a new Rollup Field, a new mass calculation job will be created for the field. This will be scheduled 12 hours into the future. The reason for such precaution is that the very first calculation job will have to populate each and every record that exists for that entity, which could be up into the millions, depending on what type of data you manage in your CRM.
- Initial rollup and the recurring rollup requests are handled by different system jobs in the CRM platform. Initial rollup request is initiated after 12 hours of creation of roll up field where as the recurring rollup requests are initiated after every hour.
- Rollup Field implementation architecture is that these calculation jobs are only applied to records that were created, updated or deleted after the last job finished.
- Thus Rollup Fields may not show a current values in the UI for quite some time.
Force the recalculation of the Rollup Field value.
- As an end user, hover over the rollup field and click the “recycle” icon to force the recalculation of the Rollup Field value.
- As a developer, you also have the option to force a Rollup Field to be recalculated on demand via a plugin, by using the CalculateRollupField message.
- The Dynamics CRM 2015 Calculate Rollup Field (Workflow Activity) solution by CRM MVP Demian Rasko essentially provides a no-code shortcut for calling the aforementioned CalculateRollupField message in the platform via a step in a workflow rule.
A Rollup Field cannot trigger a workflow process.
- A workflow cannot be defined to run automatically based on this update event.
For more details on limitations of rollup fields, consider checking CRM 2015 Rollup Fields: The Gotchas post by CRM MVP Jukka Niiranen