d$! $! Start of OPCOMS.INI ,$! $! AUTHOR: J. L. Bingham $! MANTECH INTERNATONAL X$! 2320 Mill Road $! Alexandria, VA 22314 $! $! This command procedure creates a set of command procedures $! which are designed to facilitate the use of the STOP, L$! DELETE, SET DEFAULT, SET PROTECTION and SHOW/QUEUE DCL $! commands. These procedures are especially usefull as $! a training aid for new or infrequent VAX operators but also x$! provide helpful abbreviations of the commands for those $! who are already famialiar with the normal versions. @$! For information on their use see OPCOMS.HLP. The file $! OHELP.COM prints a short help file. $! l$! Ten related command procedures are created by this procedure. $! It is recommended that they be created and kept on their own 4$! directory or subdirectory. $! $! ` $! $! GET A DIRECTORY NAME FOR THE PROCEDURES ( $! $INQUIRE OPDIR FULL DIRECTORY NAME FOR THE OPCOM COMMAND PROCEDURES $CREATE/DIRECTORY 'OPDIR T $! $!  $! CREATE THE PROCEDURES $! $CREATE 'OPDIR'ABORT.COM H $DECK $! ABORT.COM $! t$! This procedure displays the line printer queue and, if desired, $! deletes the current job. <$! $SHOW QUEUE/ALL/FULL LPA0: $WRITE SYS$OUTPUT ">$STOP/ABORT LPA0:" h$INQUIRE OK "PROCEED?" $IF .NOT. OK THEN $EXIT 0$STOP/ABORT LPA0: $SHOW QUEUE/ALL/FULL LPA0: $EOD \$! $! $$! $CREATE 'OPDIR'DEFAULT.COM $DECK P$! DEFAULT.COM $! $! This procedure changes the default directory to the one passed |$! as parameter P1 and displays the default directory and protection. $! If P1 is null the default is not changed but is displayed. D$! Brackets are optional in P1. $! $IF P1 .EQS. "" THEN $GOTO SHOW p$COLON = 'F$LOCATE(":",P1) $LEN = 'F$LENGTH(P1) 8$IF LEN .NE. COLON + 1 THEN $GOTO DIR $SET DEFAULT 'P1[0,0] $GOTO SHOW d$DIR: $IF LEN .EQ. COLON THEN $GOTO NODISK ,$CP1 = COLON + 1 $LEN = LEN - CP1 $SET DEFAULT 'F$EXTRACT(0,CP1,P1) X$P1 := 'F$EXTRACT(CP1,LEN,P1) $NODISK: $IF 'F$LOCATE("[",P1) .NE. 'F$LENGTH(P1) .OR. 'F$LOCATE("<",P1)-  .NE. 'F$LENGTH(P1) THEN $GOTO BRACKETS $P1 := ['P1] L$BRACKETS: $SET DEFAULT 'P1 $SHOW: WRITE SYS$OUTPUT " " x$WRITE SYS$OUTPUT "DEFAULT DIRECTORY IS:" $SHOW DEFAULT @$WRITE SYS$OUTPUT "DEFAULT PROTECTION IS:" $SHOW PROTECTION  $EOD l $! $! 4!$! !$CREATE 'OPDIR'HALT.COM !$DECK `"$! HALT.COM "$! (#$! This procedure displays and, if desired, stops the queue passed #$! as parameter P1. #$! T$$IF P1 .EQS. "" THEN $INQUIRE P1 "QUEUE" $$IF "''F$EXTRACT(0,5,P1)'" .EQS. "PRINT" THEN $P1 := LP %$IF "''F$EXTRACT(0,2,P1)'" .EQS. "LP" THEN $P1 := LPA0: %$ON CONTROL_Y THEN $GOTO INQ %$SHOW QUEUE/ALL/FULL 'P1 H&$INQ: &$ON CONTROL_Y THEN $EXIT '$NEXT := "" t'$IF "''F$EXTRACT(0,2,P1)'" .NES. "LP" THEN $GOTO DOIT '$INQUIRE CUR "COMPLETE THE CURRENT JOB?" <($IF CUR THEN $NEXT := /NEXT ($DOIT: )$WRITE SYS$OUTPUT ">$STOP/QUEUE''NEXT' ''P1'" h)$INQUIRE OK "PROCEED?" )$IF .NOT. OK THEN $EXIT 0*$STOP/QUEUE'NEXT 'P1 *$SHOW QUEUE/ALL/FULL 'P1 *$EOD \+$! +$! $,$! ,$CREATE 'OPDIR'OHELP.COM ,$DECK P-$TYPE SYS$INPUT - ***OPERATOR HELP*** . |.USE "KILL" TO DELETE A JOB. YOU WILL BE PROMPTED FOR QUEUE AND JOB . ID OR YOU MAY ENTER THEM AS PARAMETERS. D/ /USE "HALT" TO STOP A BATCH OR PRINTER QUEUE. YOU WILL BE PROMPTED 0 FOR THE NAME OF THE QUEUE OR YOU MAY ENTER IT AS A PARAMETER. p0 0"ABORT" CAN BE USED INSTEAD OF "KILL LP" TO DELETE THE CURRENT JOB 81 ON THE PRINTER. 1 2THE FOLLOWING ABBREVATIONS ARE ACTIVE: d2 2 "BQ" OR "QB" TO SEE THE BATCH QUEUES ,3 "PQ" OR "QP" TO SEE THE PRINT QUEUES 3 "D" FOR "SHOW DEFAULT" AND "SHOW PROTECTION" 3 "D DIRECTORY" FOR "SET DEFAULT [DIRECTORY]" X4 "PROTECT", "NOPROTECT" OR "NODELETE" TO CHANGE THE PROTECTION 4 ON A FILE OR, IF NO FILE IS SPECIFIED, THE DEFAULT PROTECTION. 5$EOD 5$! 5$! L6$! 6$CREATE 'OPDIR'KILL.COM 7$DECK x7$! KILL.COM 7$! @8$! This procedure deletes a job being printed or in a queue or an 8$! active process. The queue and id/entry number may be passed 9$! as parameters P1 and P2. If not passed they are asked for by l9$! the procedure. 9$! 4:$IF P1 .EQS. "" THEN $INQUIRE P1 - :"QUEUE? 'P' OR IF AN ACTIVE PROCESS" :$IF "''F$EXTRACT(0,5,P1)'" .NES. "PRINT'" .AND. "''F$EXTRACT(0,2,P1)'" - `;.NES. "LP" THEN $GOTO JOB ;$@DIRNAMEABORT (<$EXIT <$JOB: <$IF "''F$EXTRACT(0,1,P1)'" .EQS. "P" THEN $P1 := "" T=$IF P1 .EQS. "" THEN $GOTO PROCESS =$ON CONTROL_Y THEN $GOTO QJOB >$SHOW QUEUE/ALL/FULL 'P1 >$QJOB: >$ON CONTROL_Y THEN $EXIT H?$IF P2 .EQS. "" THEN $INQUIRE P2 "JOB NUMBER OF JOB TO BE DELETED" ?$TYPE := DELETE/ENTRY= @$GOTO DOIT t@$PROCESS: @$TYPE := STOP/ID= $''TYPE'''P2' ''P1'" B$INQUIRE OK "PROCEED?" 0C$IF .NOT. OK THEN $EXIT C$ON ERROR THEN $CONTINUE C$'TYPE''P2 'P1 \D$IF P1 .EQS. "" THEN $SHOW SYSTEM D$IF P1 .NES. "" THEN $SHOW QUEUE/ALL/FULL 'P1 $E$EOD E$! E$! PF$! F$CREATE 'OPDIR'INIT.COM G$DECK |G$OHELP :== @DIRNAMEOHELP G$D :== @DIRNAMEDEFAULT DH$ABORT :== @DIRNAMEABORT H$KILL :== @DIRNAMEKILL I$HALT :== @DIRNAMEHALT pI$PROTECT :== @DIRNAMEPROTECT I$NOPROTECT :== @DIRNAMENOPROTECT 8J$NODELETE :== @DIRNAMENODELETE J$BQ :== SHOW QUEUE/ALL/FULL/BATCH K$QB :== SHOW/QUEUE/ALL/FULL/BATCH dK$PQ :== @DIRNAMEPQ K$QP :== @DIRNAMEPQ ,L$WRITE SYS$OUTPUT "TYPE OHELP FOR OPERATOR HELP" L$D L$EOD XM$! M$! N$! N$CREATE 'OPDIR'NODELETE.COM N$DECK LO$IF P1 .EQS. "" THEN $SET PROTECTION=(S:RWE,O:RWE)/DEFAULT O$IF P1 .NES. "" THEN $SET PROTECTION=(S:RWE,O:RWE) 'P1' P$WRITE SYS$OUTPUT "GROUP AND WORLD PROTECTION ARE NOT MODIFIED BY THIS PROCEDURE" xP$EOD P$! @Q$! Q$! R$CREATE 'OPDIR'NOPROTECT.COM lR$DECK R$IF P1 .EQS. "" THEN $SET PROT=(S:RWED,O:RWED,G:RWED,W:RWED)/DEFAULT 4S$IF P1 .NES. "" THEN $SET PROT=(S:RWED,O:RWED,G:RWED,W:RWED) 'P1' S$EOD S$! `T$! T$! (U$CREATE 'OPDIR'PQ.COM U$DECK U$SHOW QUEUE/ALL/FULL LPA0: TV$SHOW QUEUE/ALL/FULL SYS$PRINT V$EOD W$! W$! W$! HX$CREATE 'OPDIR'PROTECT.COM X$DECK Y$IF P1 .EQS. "" THEN $SET PROTECTION=(S:RWED,O:RWED,G,W)/DEFAULT tY$IF P1 .NES. "" THEN $SET PROTECTION=(S:RWED,O:RWED,G,W) 'P1' Y$EOD