Mainframe Path Start learning free
Beginner9 min readLesson 3 of 3

Reading job output like a support engineer

Read job output in a fixed order. First the job summary, to find the first step that did not end with return code 0. Then the system messages for that step. Then the program's own output (SYSOUT or SYSPRINT). Only then dumps. Use FIND, RFIND (PF5) and the scroll keys rather than paging through everything.

The order that saves you time

  1. Job summary. Find the *first* step with a non-zero return code, an abend or a JCL error. Later failures are often just consequences.
  2. MESSAGES (JESYSMSG). The system's account of each step: allocations, return codes, abend codes and reason codes.
  3. The program's output. SYSOUT or SYSPRINT for that step: the program's own error messages, or a utility's report.
  4. LOG (JESMSGLG). Start and end times and console messages. Useful when timing or operator actions matter.
  5. Dumps (CEEDUMP, SYSUDUMP). Only once the steps above point you there.

Messages you will meet first

You seeMeaning
IEF142I ... STEP WAS EXECUTED - COND CODE 0000The step ran and set this return code
IEF450I ... ABEND=S0C7 U0000The step abended. S codes are system abends, U codes are set by the program
IEF212I ... DATA SET NOT FOUNDA dataset in the JCL is not in the catalog. Check the name
JOB NOT RUN - JCL ERRORNothing ran: the JCL is wrong. The line just above names the problem
$HASP373 ... STARTED / $HASP395 ... ENDEDJES2's start and end messages, in the LOG

Return code conventions

By convention 0 means success, 4 a warning, 8 an error, and 12 or 16 a serious failure. Programs can set any value, so a 4 is not automatically fine. Read what your site's runbook says for that job.

Moving around big output

Browsing output efficiently
COMMAND ===> F ABEND              find the first 'ABEND'
COMMAND ===> (press PF5)          repeat the find (RFIND)
COMMAND ===> M then PF8           jump to the bottom
COMMAND ===> M then PF7           jump to the top
  PF10 / PF11 scroll left / right, PF3 back to the summary, PF4 back to the job list

Typing M (max) on the command line and then pressing PF8 or PF7 jumps straight to the bottom or top. Wide reports are often more than 80 columns, so remember to scroll right with PF11. The message you need is sometimes off-screen.

Worked example: PAYRUN01

  1. Summary: STEP010 and STEP020 are RC 0, STEP030 (PGM PAYCALC) abended S0C7, and STEP040 was NOT EXECUTED.
  2. MESSAGES: IEF450I PAYRUN01 STEP030 - ABEND=S0C7 U0000, which confirms a data exception in PAYCALC.
  3. SYSOUT for STEP030: the program wrote the key of the record it was processing.
  4. Conclusion: bad numeric data in one input record, not a JCL or system problem. Fix the data or restart according to the runbook. See Rerun and restart.
TRY IT YOURSELF

Which PF key repeats your last FIND (RFIND)?

Show a hint

It is the same key in the ISPF editor.

Show the solution

PF5 (RFIND).

Examples are for learning. Run commands and jobs only on a system you are authorised to use, such as a training or test system, and never on production without approval.

Common mistakes

Starting at the last error in the output

Later steps often fail because of the first failure. Find the first step that went wrong.

Treating return code 4 as always fine

Some jobs rely on RC 4 to signal a real problem. Check what is expected for that job.

Missing the message off the right edge

Wide output goes beyond column 80. Scroll right with PF11 before deciding the message is not there.

What you will see at work

Key terms

Check your understanding.
Take this lesson's quiz and save your progress. Free.

Take the lesson quiz
← The job list and the job summaryBack to IOF: finding and reading job output