Job stream

In a batch processing computer system, a job stream, jobstream, or simply job is the sequence of job control language statements (JCL) and data (called instream data) that comprise a single "unit of work for an operating system".[1] A job consists of the execution of one or more programs. Each program execution, called a job step, jobstep, or step, is usually related in some way to the others in the job. Steps in a job are executed sequentially, possibly depending on the results of previous steps.

In the IBM z/OS operating system, a job is initiated by a // JOB and terminated by the next // JOB or // statement. Each job step consists of one // EXEC statement indicating the program to be executed and usually multiple // DD statements defining the files and devices to be used.

Example

A simple example of a job stream is a system to print payroll checks which might consist of the following steps:

  1. Read a file of data containing employee id numbers and hours worked for the current pay period. Validate the data to check that the employee numbers are valid and that the hours worked are reasonable.
  2. Compute salary and deductions for the current pay period based on hours input and pay rate and deductions from the employee's master record. Update the employee master "year-to-date" figures and create a file of records containing information to be used in the following steps.
  3. Print payroll checks using the data created in the previous step.
  4. Update bank account balance to reflect check numbers and amounts written.

Each step depends on successful completion of the previous step. For example, if incorrect data is input to the first step the job might terminate without executing the subsequent steps to allow the payroll department to correct the data and rerun the edit. If there are no errors the job will run to completion with no manual intervention.

References

  1. IBM Corporation. "Glossary of z/OS terms and abbreviations - job". Retrieved February 18, 2013.