What is the purpose of the "current collection cycle" setting for data/trigger dependencies?
This setting is used to prevent Triggers and Dependencies from getting out of sync.
A user has the following issue:
A Daily Trigger that should not run until that day's data has been processed first actually ran. Without the Must be satisfied during current collection cycle setting enabled, however, the following sequence of events was possible (and indeed, was actually happening):
A. Daily trigger is set to start as early as possible, provided that the data dependency has been satisfied.
B. Data dependency is usually satisfied at 6am.
What can happen if the Trigger and its Dependency get out of sync:
1. Data Dependency is satisfied on 11/1 at 6am.
2. Daily Trigger should start immediately afterwards, but fails for some reason. Subsequently, there is no run on 11/1.
3. The next cycle starts on 11/2 at midnight. Data Dependency has been satisfied since the last run, so the Daily Trigger starts immediately.
4. Data Dependency is satisfied on 11/2 at 6am.
5. Since the Daily Trigger has already run on 11/2 it does not run again that day after 6am.
6. The next cycle starts on 11/3 at midnight. Data Dependency has been satisfied since the last run, so the Daily Trigger starts immediately.
In this scenario, data collection proceeds as if the data dependency does not actually exist. What results is a data collection that has fallen out of sync with its data dependency.
To prevent the Trigger from falling out of sync with its Data Dependency, you must set Must be satisfied during current collection cycle to yes. The scenario described above then becomes impossible. In other words, the Daily Trigger cannot run on 11/2 at midnight until the Data Dependency has been satisfied on that day at 6am.