When first installing any Causeview application, there are various automatic rollups that can be scheduled to run daily. There are four rollup jobs that are scheduled during deployment: the Delta Contact rollup, the Delta Account rollup, the Multilevel Campaign rollup, and the Payment rollup. The purpose of these rollups is to update rollup fields in different records. Learn more about each rollup in their following section:
1. The Contact Rollup(s)
There are three different kinds of contact rollups.
The Delta Contact Rollup runs every night at 12:00 am. Its job is to calculate the fields on the Contact Record using Transaction Records. While this job is in progress, it looks in your organization's job history to check for the last successful rollup and finds only the Contacts that have new or updated Transactions since then and updates their record. The apex class in Causeview is RollupBatchScheduler.cls.
If an organization needs all records to be recalculated nightly, then you can schedule a Full Contact Rollup. This job references all contacts in your organization and recalculates based on all transactions in your organization. Learn how to schedule a Full Contact Roll up.
Causeview also provides the option of performing a Quick Contact Rollup. If you are interested in making sure a particular Contact’s Rollup information is immediately updated, you have the ability to click the button “Quick Contact Rollup” on any specific Contact Record. This job will ensure that the contact you are on when the button is pressed, is included in the Delta Contact rollup when it immediately rune, even if that contact has had no transactions since the last success Delta Contact Rollup. This type of rollup is not scheduled, but rather it is a manual process that does the same job as the Delta Contact Rollup in real time.
2. The Accounts Rollup
The Accounts Rollup does the same job as the Delta Contact Rollup, but instead of calculating fields in the Contact Record, it calculates fields in the Account Record or as you may know in the Organizations Record. The job is scheduled to run every night at 3:00 am. While this job is in progress, it looks in your organization’s job history to check for the last successful rollup and finds only the Accounts that have new or updated Transactions since then and updates the Account fields. The apex class in Causeview is RollupBatchForOrganizationScheduler.cls.
3. The Multilevel Campaign Rollup
The Multilevel Campaign Rollup is scheduled to run every night at 8:00 pm. Its job calculates multiple fields on the Campaign object. Instead of using Transaction Records, this rollup uses Allocation Records. The Multilevel Campaign Rollup runs very differently from the Contacts or Accounts Rollup because it follows a hierarchy. The job starts by finding any campaigns that do not have child campaigns. Once it has found all the campaigns with no children, it then calculates the information needed on the Campaign object. Once these calculations are completed, it takes the Parent Records of the childless campaigns and runs a job that rolls up the Parent Campaign objects and updates the Campaign object. The Multilevel Campaign Rollup also differs from the Contact and Account Rollups by adding all the totals from its child campaigns. The apex class in Causeview is FullACERollup.cls.
The Payment Rollup is scheduled to runs daily at 1:00 am. Its job is to update all recurring donations that had payments come in the previous day. The fields 'Approved Payments', 'Declined Payments', and 'Consecutive Declined Payments' get updated using the related payments on the recurring donations. The apex class in Causeview is RDPaymentCountBatchScheduler.