How workload scheduling works
JCL describes one job. A workload scheduler decides when thousands of jobs run, in what order, on which days, and what happens when one fails. Every scheduler — Control-M, TWSz, AutoSys, Stonebranch — is built from the same handful of ideas.
Why JCL alone is not enough
A bank's night might be 20,000 jobs: load the day's transactions, update accounts, calculate interest, produce statements, send files to partners. Many depend on each other, some run only on month end, and some must wait for a file from outside. Submitting that by hand is impossible, so a workload scheduler does it.
The building blocks
| Idea | What it means |
|---|---|
| Job | One unit of work, usually a JCL member on z/OS or a script elsewhere |
| Dependency | Job B waits until job A ends successfully |
| Calendar / run cycle | Which days a job runs: every working day, month end, the first Monday |
| Resource | Something jobs share and must not overuse, such as a tape drive or a database lock |
| Trigger | An event that starts work, such as a file arriving |
| Daily plan | The list of job instances scheduled for one business day |
The business day is not the calendar day
Schedulers build a plan for each business day, often starting at a fixed time such as 06:00 rather than midnight. Control-M calls this the order date and the New Day process; TWSz builds a current plan from a long-term plan. A job that runs at 02:00 on Tuesday may belong to Monday's business day.
Statuses look different but mean the same
| Meaning | Control-M | TWSz | AutoSys |
|---|---|---|---|
| Waiting for something | Wait Condition / Wait Time | W (waiting) / A (arriving) | AC (activated) |
| Running | Executing | S (started) | RU (running) |
| Finished OK | Ended OK | C (complete) | SU (success) |
| Failed | Ended Not OK | E (error) | FA (failure) |
| Paused by a person | Held | Held | OH (on hold) |
Common mistakes
A job showing yesterday's date may be perfectly on time for its business day. Check the order date or plan date before raising an alarm.
Only jobs on the critical path delay the business deadline. Fix those first.
Unneeded dependencies make the night longer. Every link should reflect a real data need.
What you will see at work
- Batch operators and production support spend most of their night in the scheduler, not in JCL.
- Banks often run more than one scheduler: one on z/OS and another for distributed servers, linked together.
- Schedule changes go through change control just like code.
Key terms
Check your understanding.
Take this lesson's quiz and save your progress. Free.