Yes, "ABEND S222" was shorthand.

> What exactly are you "looking at"?

I am looking at my report (or rather, an image of the output of my report
program, as displayed on a 3270 emulator). I posted my code that generates
the field in the report.

Yes, I know from experimentation (totally unrelated to this query: different
LPAR, different employer, different decade) that it is possible to create an
ABEND with an S222 completion code "one's self" (as opposed to via a CANCEL
command or a CALLRTM) and of course if one did so, then all bets are off as
to bit and field settings. My interpretation from the system log is that FTP
is cancelling the job by issuing a console command of the form $CJ(nnnn).

What's a guy to do? The TCB is of course long gone. The TCBRV316 bit is
apparently not getting propagated to the SMF record. SMF30ARC is documented
as "Abend reason code" with no qualification as to determining its validity.

Charles


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[email protected]] On
Behalf Of Peter Relson
Sent: Sunday, May 31, 2020 6:30 AM
To: [email protected]
Subject: Re: Meaning of reason code A618 on ABEND S222?

<snip>
I am looking at some SMF 30 S222 ABEND completion codes. Most of them are
S222-0000 as you would expect A handful have a non-zero reason code, many
of them A618.
</snip>
What exactly are you "looking at"? Are you referring to something 
formatted from fields SMF30SCC and SMF30ARC? 

<snip>
The ABEND 222 documentation does not mention reason codes
</snip>

That's because the system completion code 222 (it is not "ABEND 222" if 
you want to be picky) that you get from a cancel does not have a reason 
code.
It comes from
CALLRTM TYPE=ABTERM,COMPCOD=(5),TCB=(11),DUMP=NO,STEP=YES 
(or the same with DUMP=YES).
The reason is not x'A618' (or 0 for that matter). There is no reason code.
Some messages do not differentiate that fine point, such as
IEF472I RUNJOB TC1 - COMPLETION CODE - SYSTEM=222 USER=0000 
REASON=00000000
which (presumably for simplicity) uses the value from TCBARC to show 
REASON=xxxxxxxx even when there is no reason code.
In this case, TCBARC is 0. There is a bit indicating if the reason code in 
TCBARC is valid. That's (ridiculously-named) bit TCBRV316 which would be 
0. A "better" name will likely be added in the future. SMF30ARC, 
similarly, is set unconditionally from TCBARC. I don't see anything 
indicating that SMF 30 captures the "validity bit".

I have a (vague, possibly faulty) recollection of being disturbed at 
finding something issuing an abend with system completion code x'222' as 
if that was a cancel and as if it was OK to do so (in general, it is not, 
but it would have been that way for a long time and been somewhat 
incompatible to change). Such an abend might have some sort of reason code 
-- and of course should be documented -- if indeed that is the case. A 
x'222' system abend (as opposed to a x'222' abterm) is not a true cancel 
and might not be treated as such.

Peter Relson
z/OS Core Technology Design


----------------------------------------------------------------------
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

Reply via email to