Terminating repeating
If the next calculated Input Arrival time is later than
the UNTIL time, or if the number of occurrences
has reached the COUNT value, the ADD command
does not submit any further occurrences.
The ADD command also stops if it detects
another occurrence, submitted in other ways, with an Input Arrival
time between the ORIGIN time and up to and
including the calculated next Input Arrival. This prevents instances
where multiple triggers may have added overlapping cycles to leap
over each other, compromising the desired cycle interval.
Use of the NOTIFY keyword can be used to
allow extra processing to be added into the repeating occurrence that
only runs when the final occurrence of the cycle as run.
For example, ADD FROM(0900) UNTIL(2100) EVERY(0015)
NOTIFY(W) means that the 2100 instance of the ADD job
terminates with RC=4. Conditional dependencies can then be used to
run jobs only when the ADD job terminates
with RC=4, allowing final processes to be run at the end of the repeating
cycle.
Conditional dependencies can also be used to terminate the repeating
cycle early. If whatever process is being run by the repeating occurrence
can detect it no longer needs to repeat, for example all the data
for the day has arrived, then it too could issue a return code, that
conditional dependencies could use to stop a further run of the ADD job.