/* REXX */ SW = 0 UNO = 0 UID. = '' /* USERID */ PROCNO. = 0 /* PROCEDURE NUMBER */ PROC. = '' /* PROCEDURE */ PROCGRP. = '' PROCGNO. = 0 PROCUID. = '' PNO = 0 DO FOREVER "EXECIO 1 DISKR IN1" IF RC <> 0 THEN LEAVE PULL LINE SELECT WHEN (SW = 0 | SW = 3) & SUBWORD(LINE,2,1) = 'USER' THEN DO UNO = UNO + 1 UID.UNO = SUBWORD(LINE,1,1) /* SAY 'USER:'UID.UNO */ END WHEN SW = 0 & SUBWORD(LINE,1,1) = 'INSTALLATION' THEN NOP WHEN SW = 0 & SUBWORD(LINE,1,1) = 'MAXSIZE:' THEN NOP WHEN SW = 0 & SUBWORD(LINE,1,1) = 'USER' THEN NOP WHEN SW = 0 & SUBWORD(LINE,1,1) = 'DESTINATION' THEN NOP WHEN SW = 0 & SUBWORD(LINE,1,1) = 'HOLD' THEN NOP WHEN SW = 0 & SUBWORD(LINE,1,1) = 'JOB' THEN NOP WHEN SW = 0 & SUBWORD(LINE,1,1) = 'MESSAGE' THEN NOP WHEN SW = 0 & SUBWORD(LINE,1,1) = 'SYSOUT' THEN NOP WHEN SW = 0 & SUBWORD(LINE,1,1) = 'NO' THEN DO SW = 1 END WHEN SW = 1 THEN DO SW = 2 /* PASSWORD */ END WHEN SW = 2 THEN DO SW = 3 /* ACCOUNT */ END WHEN SW = 3 & SUBWORD(LINE,2,1) = 'PROCSIZE=' THEN DO PROCNO.UNO = PROCNO.UNO + 1 INTERPRET 'PROC.UNO.'PROCNO.UNO' = SUBWORD(LINE,1,1)' /* INTERPRET 'SAY " " || PROC.UNO.'PROCNO.UNO */ LOC = 0 DO I = 1 TO PNO IF PROCGRP.I = SUBWORD(LINE,1,1) THEN DO LOC = I LEAVE I END END IF LOC = 0 THEN DO PNO = PNO + 1 LOC = PNO PROCGRP.PNO = SUBWORD(LINE,1,1) END PROCGNO.LOC = PROCGNO.LOC +1 INTERPRET 'PROCUID.LOC.'PROCGNO.LOC' = UID.UNO' IF PROCGRP.LOC = 'SPFLOG' THEN SAY PROCGRP.LOC "(" PROCGNO.LOC ")" UID.UNO END OTHERWISE NOP END END DO I = 1 TO PNO IND.I = I END CHK = 1 DO WHILE CHK = 1 CHK = 0 DO I = 1 TO PNO -1 J = I +1 II = IND.I JJ = IND.J IF PROCGRP.II > PROCGRP.JJ THEN DO CHK = 1 W_IND = IND.I IND.I = IND.J IND.J = W_IND END END END DO I = 1 TO PNO INTERPRET "SAY PROCGRP."IND.I END DO CNTX = 1 TO PNO CNTR = IND.CNTX SAY 'PROCEDURE:'PROCGRP.CNTR QUEUE 'PROCEDURE:'PROCGRP.CNTR "EXECIO 1 DISKW OUTF" LIST = ' ' I = 0 DO CNTR2 = 1 TO PROCGNO.CNTR IF I < 8 THEN DO I = I + 1 LIST = LIST || LEFT(PROCUID.CNTR.CNTR2,8) END ELSE DO I = 0 LIST = LIST || LEFT(PROCUID.CNTR.CNTR2,8) SAY LIST QUEUE LIST "EXECIO 1 DISKW OUTF" LIST = ' ' END END IF I <> 0 THEN SAY LIST QUEUE LIST "EXECIO 1 DISKW OUTF" END /*******/ DO CNTR = 1 TO UNO QUEUE 'USERID:'UID.CNTR "EXECIO 1 DISKW OUT2" LIST = ' ' I = 0 DO CNTR2 = 1 TO PROCNO.CNTR IF I < 8 THEN DO I = I + 1 LIST = LIST || LEFT(PROC.CNTR.CNTR2,9) END ELSE DO I = 0 LIST = LIST || LEFT(PROC.CNTR.CNTR2,9) QUEUE LIST "EXECIO 1 DISKW OUT2" LIST = ' ' END END IF I <> 0 THEN QUEUE LIST "EXECIO 1 DISKW OUT2" END