MXG Software separates a true JCL error (i.e. prevents EXECUTION)
from an "execution" JCL error, because the latter jobs did initiate
and are thus valid to be included in job service level reporting,
whereas the inclusion of JCL errors in those reports is wrong.
(However, if they were incorrectly included in your job reporting,
you could easily improve the daily statistics by submitting
a few hundred JCL error jobs!)
The full suite of "ABEND" causes decoded from the SMF 26 and 30
records for each job are these possible values for MXG variables
ABEND and CONDCODE:
Variable Type Length Format Label
ABEND CHAR 6 COMPLETION*ABEND*INDICATOR
Step completion indicator. A description of how or why this step
ended. For non-normal completions, see associated variable CONDCODE
for amplification of the termination reason.
value meaning
blank normal completion.
CANCEX step was canceled by an SMF exit; variable CONDCODE contains
a bit indicating the exit that cancelled the step.
COND=J step was not executed because of COND= on the step EXEC.
FLUSH step was flushed (because a previous step had failed).
NOTCTL step completed with a "post execution" error, which includes
either NOT CATALOGED 2 or NOT CATALOGED 7 condition, only
if your installation specified cancellation in the PARMLIB
member controlling allocation. See APAR OY38977.
OMVSEX step record written because address changed state to execute
OMVS (Open Edition/MVS, IBM's MVS UNIX).
OTHER step abended for unknown reason. Variable CONDCODE contains
the value in register 15 at time of the abend. "OTHER" is
set when the step ABEND bit is on but the numerical value
of SMF30SCC (the step completion code) does not describe
the reason for the step ABEND bit in SMF30STI.
RESTAR step was restarted; subsequent restart has program name of
IEFRSTRT.
RETURN step completed with nonzero condition code. CONDCODE has the
return code value.
SYSTEM step completed with system abnormal end (abend). CONDCODE
has the abend code.
USER Step completed with an abend issued by a user program,
rather than by the operating system itself. Any programmer
can choose to issue a USER ABEND rather than a return code
(for example, the SAS System issues a USER ABEND 999 when
ERRORABEND is specified and an error occurs). CONDCODE
contains the abend code.
Note: The preceding values for ABEND are those set in processing the
type 30 record. In the BUILDPDB process, the PDB.JOBS dataset
carries forward the variable ABEND, and sets additional values
for the variable ABEND. Although these values will not be seen
in the TYPE30 datasets, they are listed here (and also in member
ADOCPDB) for clarification:
CRSH Job was active when system "Crashed" (i.e., the JSTRTIME in
the TYPE26J2 record was missing or earlier than the JENDTIME
indicating the job had started but never returned from MVS).
JCL Job had a JCL error prior to execution (i.e., the job never
began execution, either due to a JCL error detected in the
Reader-Interpreter or Converter, or the job was cancelled by
the operator or user, in which case CANCELED='Y'.) This
value of ABEND is set so that these jobs can be excluded
from job scheduling statistics (since these jobs have nearly
instantaneous input queue time, including them in your batch
statistics is wrong - you could make the daily stats look
real good by submitting thousands of JCL errors!).
Note that jobs with what I call an "execution JCL error",
like Data Set Not Found, that actually occur after the job
has started are NOT set with ABEND='JCL' (even though the
user gets a NOTIFY message that the job had a JCL error)
because those jobs were in fact scheduled and executed by
the data center and thus should be included in statistics.
PREEXE JOBS-only: Step had a pre-execution ABEND.
CONDCODE NUM 5 HEX4.0 COMPLETION*CONDITION*CODE
Condition code. This variable amplifies the meaning of ABEND. It is
internally a binary number but is formatted to display as hex so that
testing for a specific condition uses this syntax:
IF ABEND= 'SYSTEM' AND CONDCODE=0322X THEN ...
For some values of ABEND, CONDCODE has these meanings:
ABEND CONDCODE
value value
CANCEXIT 4 = Cancelled by IEFUJI (job initiation) SMF exit
CANCEXIT 2 = Cancelled by IEFUSI (step initiation) SMF exit
CANCEXIT 1 = Cancelled by IEFACTRT (step termination) SMF exit
OTHER completion code value
RETURN return code value
SYSTEM system ABEND code
USER user ABEND code.
In z/OS 1.13, the JOB card can be used to indicate which condition
code you want in your type30 subtype 5 (TYPE30_5) SMF record, last
highest or a named step.
Barry Merrill
-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf
Of Shmuel Metz (Seymour J.)
Sent: Monday, October 14, 2013 8:35 AM
To: [email protected]
Subject: Re: SYSIN Symbol Resolution vs. LRECL
In <[email protected]>, on
10/13/2013
at 11:00 AM, Paul Gilmartin <[email protected]> said:
>"DATA SET NOT FOUND" is a JCL ERROR (Read the IEF453I message text),
I know what the message text says. Now consider a job with two steps; the first
executes a program that deletes a data set, the second has a DD statement for
the deleted dataset with DISP=OLD. The job fails in the second step only
because of what the first step did. Is the error in the JCL or in the input to
the first program?
--
Shmuel (Seymour J.) Metz, SysProg and JOAT
ISO position; see <http://patriot.net/~shmuel/resume/brief.html>
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to
[email protected] with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN