Charles Mills wrote:
>Not sure, but don't forget about three-tiered names with named PROC steps
>and jobsteps within.
Indeed. And that changes it yet again. Here's the JCL:
//JOBNAME JOB MSGLEVEL=(1,1),MSGCLASS=O
//SOMEPROC PROC
//PSTEP EXEC PGM=SHOWTIOT,COND=(8,LT)
// PEND
//STEPNAME EXEC SOMEPROC
//STEPLIB DD DISP=SHR,DSN=PHS.PDS.LOAD
Result:
TIOCSTPN = PSTEP, TIOCJSTN = STEPNAME
Here's my nifty SHOWTIOT program, btw, in case you're interested. (Yes, I'm
kidding when I say "nifty"):
WORKAREA DSECT ,
WORKWTO WTO TEXT=(15),MF=L
WORKTEXT DS 0H'20',0C'TIOCXXXX: >........<'
DC H'20' Message length
DC C'TIOC'
WORKXXXX DC C'XXXX'
DC C': >'
WORKSUB DS CL8'........'
DC C'<'
WORKSIZE EQU *-WORKAREA
SHOWTIOT CSECT ,
STM R14,R12,12(R13)
LR R11,R15
USING SHOWTIOT,R11
STORAGE OBTAIN,LENGTH=WORKSIZE Get work area
LR R10,R1 Copy address
USING WORKAREA,R10
MVC WORKWTO(LISTWTOL),LISTWTO Copy WTO template
MVC WORKTEXT(LMSGTEXT),MSGTEXT And msg template
L R3,540 Get TCB address
L R3,12(,R3) Get TIOT address
USING TIOT,R3 Address the TIOT
WTO '********************************************************
***************'
WTO ' '
WTO 'TIOCSTPN = 8-byte step name for non-PROCs'
MVC WORKXXXX(4),=CL4'STPN'
MVC WORKSUB(8),=CL8'allnulls'
CLC TIOCSTPN(8),=XL8'0000000000000000'
BE WRITE1
MVC WORKSUB(8),=CL8'onenull '
CLI TIOCSTPN,X'00'
BE WRITE1
MVC WORKSUB(8),=CL8'allblank'
CLC TIOCSTPN(8),=CL8' '
BE WRITE1
MVC WORKSUB(8),=CL8'oneblank'
CLI TIOCSTPN,C' '
BE WRITE1
MVC WORKSUB(8),TIOCSTPN
WRITE1 DS 0H
LA R15,WORKTEXT
WTO MF=(E,WORKWTO),TEXT=(15)
WTO ' '
WTO 'TIOCPSTN = 8-byte PROC step name for procs'
MVC WORKXXXX(4),=CL4'PSTN'
MVC WORKSUB(8),=CL8'allnulls'
CLC TIOCPSTN(8),=XL8'0000000000000000'
BE WRITE2
MVC WORKSUB(8),=CL8'onenull '
CLI TIOCPSTN,X'00'
BE WRITE2
MVC WORKSUB(8),=CL8'allblank'
CLC TIOCPSTN(8),=CL8' '
BE WRITE2
MVC WORKSUB(8),=CL8'oneblank'
CLI TIOCPSTN,C' '
BE WRITE2
MVC WORKSUB(8),TIOCPSTN
WRITE2 DS 0H
LA R15,WORKTEXT
WTO MF=(E,WORKWTO),TEXT=(15)
WTO ' '
WTO 'TIOCJSTN = 8-byte jobstep name for PROCs'
MVC WORKXXXX(4),=CL4'JSTN'
MVC WORKSUB(8),=CL8'allnulls'
CLC TIOCJSTN(8),=XL8'0000000000000000'
BE WRITE2
MVC WORKSUB(8),=CL8'onenull '
CLI TIOCJSTN,X'00'
BE WRITE3
MVC WORKSUB(8),=CL8'allblank'
CLC TIOCJSTN(8),=CL8' '
BE WRITE3
MVC WORKSUB(8),=CL8'oneblank'
CLI TIOCJSTN,C' '
BE WRITE3
MVC WORKSUB(8),TIOCJSTN
WRITE3 DS 0H
LA R15,WORKTEXT
WTO MF=(E,WORKWTO),TEXT=(15)
WTO '********************************************************
***************'
DROP R3 Done with TIOT now
STORAGE RELEASE,LENGTH=WORKSIZE,ADDR=(R10) Release WTO buffer
LM R14,R12,12(R13) Restore
XR R15,R15
BR R14
LTORG ,
LISTWTO WTO TEXT=(15),MF=L
LISTWTOL EQU *-LISTWTO Length of the LISTWTO, used for MVC
MSGTEXT DC H'20',C'TIOCXXXX: >........<'
LMSGTEXT EQU *-MSGTEXT
YREGS ,
TIOT DSECT , Task I/O Table (no DSECT in macro)
IEFTIOT1 The TIOT definition
END ,
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN