Each activity in an AutoScheduler project must be assigned a zero test data field, which is used to identify which activities occur in each record.
If the value of the zero test data field in a record is greater than zero, the activity associated with that field is assumed to exist for that record and will therefore be scheduled. But if the value of the zero test data field is not greater than zero, it is assumed the activity does not exist in that record and so it won't be scheduled. It can therefore be considered as a filter that determines which activities in which records will be included in the schedule. The default value for the zero test data field is Include All Records, which assumes every activity will occur in every record.
Even if a records activities are considered available for scheduling, they will only be scheduled if their accumulation fields contain values greater than zero. For example, the waste activity in a block will not be scheduled if that blocks waste quantity is zero.
Regardless of the reason why a records activities are excluded from the schedule, a potential problem exists if the excluded block is a predecessor of other blocks. Because the predecessors are not scheduled, its successors will never become available for scheduling.
To avoid this situation, blocks are tested during the scheduling process whenever they become available. If for some reason the block will not be scheduled, dependencies that have this block as their predecessor will automatically be satisfied. This process is performed recursively and correctly releases successors even when there are multiple non-scheduled records or non-scheduled records in a chain of dependencies. The process is performed automatically and user intervention is not required.