Abend
An abnormal end: a program stopping in an uncontrolled way rather than finishing and reporting a result.
Also written abnormal end, ABEND, crash
Abend is a contraction of abnormal end. It means a program did not finish: something went wrong that it could not handle, and the system stopped it.
It is different from a bad return code. A return code means the program ran to completion and reported that the result was not good. An abend means execution was halted partway through, and whatever the step was doing is incomplete.
Every abend carries a code identifying what went wrong. System abends are issued by z/OS itself and cover things like arithmetic on data that is not valid numeric, running out of space, exceeding a time limit, or referring to storage the program does not own. User abends are issued deliberately by a program or a subsystem to signal a condition it has decided is fatal.
When one happens, the job output tells you the code, the failing step and usually the point in the program. Reading that carefully is the whole skill. The messages are terse but precise, and they almost always name the actual cause.
Related terms
- Return codeA number a program leaves behind saying how it went. Zero for clean, higher numbers for warnings and failures.
- Job stepOne program execution within a job. A job is simply a sequence of steps that run in order.
- SDSFThe tool for looking at what jobs are running, what has finished, and what output they produced.
- SYSOUTOutput sent to the spool rather than to a dataset, where you can read it after the job finishes.
- Production supportKeeping live systems running: diagnosing failures, fixing what broke, and getting the service back.