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
