/*** REXX *** */ PARSE upper ARG dsname IF dsname = '' then Do Say 'Dsname must be specified' Exit 4 End /* EXTRACT OUTPUT FROM D GRS COMMAND */ Address TSO 'ALLOC SP(1) TRACK UNIT(VIO) RECFM(F B) LRECL(80) BLKSIZE(4000) REU', 'FI(ISFIN)' out.1 = 'SET DELAY 15' out.2 = '/D GRS,RES=(SYSDSN,'dsname')' out.3 = 'ULOG' out.4 = 'PRINT FILE REPORT' out.5 = '++XC' out.6 = 'END' /* send the command to SDSF */ 'EXECIO 6 DISKW ISFIN (STEM out. FINIS)' 'ALLOC SP(1) TRACK UNIT(VIO) RECFM(V B) LRECL(150) BLKSIZE(4000) REU', 'FI(REPORT)' 'ALLOC DUMMY FI(ISFOUT) RECFM(V B) LRECL(150) BLKSIZE(150) REU' 'CALL *(SDSF)' /* SDSF in line mode */ sdsf_rc=rc /* parse the result */ 'EXECIO * DISKR REPORT 1 (STEM in. FINIS)' Say 'Whohas 'dsname'?' title = 0 /* find the title line */ Do i = 1 to in.0 If title then Say ' 'Left(WORD(in.i,2),8)' asid='WORD(in.i,3) Else If Word(in.i,1) = 'SYSNAME' then title = 1 End i If title = 0 then Say 'Nobody' 'FREE FI(ISFIN ISFOUT REPORT)' EXIT sdsf_rc