Does that support the new token algorithm?
-- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 ________________________________________ From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> on behalf of David Crayford <dcrayf...@gmail.com> Sent: Tuesday, November 5, 2019 2:20 AM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: WTO message at the end of JCL I use a REXX script which we use to record cond codes from test jobs. main: cvt = ptr(16) tcbp = ptr(cvt) tcb = ptr(tcbp + 4) jscb = ptr(tcb + 180) ssib = ptr(jscb + 316) tct = ptr(tcb + 164) lct = ptr(tct + 152) jct = ptr(lct + 16) jobid = stg(ssib + 12, 8) jobname = stg(jct + 8, 8) sct = c2d(stg(jct + 32, 3)) SCT_LEN = 36 if sct > 0 then do say 'Step ProcStep CondCode' say '-------- -------- --------' do while sct > 0 stepname = left(stg(sct + 68, 8), 8) procstep = left(stg(sct + 60, 8), 8) condcode = x2d(c2x(stg(sct + 24,2))) sctxbttp = c2d(stg(sct + 68, 3)) sctxbttp = swareq(stg( sct + 68, 3)) scabend = stg(sctxbttp + 112, 3) say stepname procstep condcode scabend sct = x2d(c2x(stg(sct + SCT_LEN, 3))) end end exit 0 ptr: arg addr, len if len = '' then len = 4 return x2d(c2x(bitand(storage(d2x(addr),len),x2c('7FFFFFF')))) stg: arg addr, len return storage(d2x(addr),len) swareq: procedure numeric digits 20 /* allow up to 2**64 */ sva=c2d(arg(1)) /* convert to decimal */ tcb = c2d(storage(21C,4)) /* tcb psatold */ jscb = c2d(storage(d2x(tcb+180),4)) /* jscb tcbjscb */ qmpl = c2d(storage(d2x(jscb+244),4)) /* qmpl jscbqmpi */ /* see if qmat can be above the bar */ qmsta= c2x(storage(d2x(qmpl+16),1)) /* job status byte */ if substr(x2b(qmsta),6,1) then /* is qmqmat64 bit on? */ do /* yes, qmat can be atb */ if right(x2b(c2x(arg(1))),1) \= '1' then/* swa=below ? */ return c2d(arg(1))+16 /* yes, return sva+16 */ qmat=c2d(storage(d2x(qmpl+10),2))*(2**48) +,/* qmat+0 qmadd01 */ c2d(storage(d2x(qmpl+18),2))*(2**32) +,/* qmat+2 qmadd23 */ c2d(storage(d2x(qmpl+24),4)) /* qmat+4 qmadd */ return c2d(storage(d2x(qmat+(sva*12)+64),4))+16 end else do /* no, qmat is btb */ if right(c2x(arg(1)),1) \= 'F' then /* swa=below ? */ return c2d(arg(1))+16 /* yes, return sva+16 */ qmat = c2d(storage(d2x(qmpl+24),4)) /* qmat qmadd */ do while sva>65536 qmat = c2d(storage(d2x(qmat+12),4)) /* next qmat qmat+12 */ sva=sva-65536 /* 010006f -> 000006f */ end return c2d(storage(d2x(qmat+sva+1),4))+16 end On 2019-11-05 2:26 PM, Brian Westerman wrote: > Of course there is a way, all you need to do is process the SCT from your > program. You will get all steps up to the one you are currently in only > because it has not ended yet. But if you are running as the last step it > wouldn't matter. That's not how I do it in SyzMPF/z, but it "could" be done > that way in another step of the job. In fact, I think there are programs on > the CBT tape that do just that. > > Brian > > ---------------------------------------------------------------------- > For IBM-MAIN subscribe / signoff / archive access instructions, > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN