! TASK.BAS - Create a .CTL file for a .CMD/.RUN and SUBMIT it. 10/85 ! ! Evan N. Oulashin, Portland Radio Supply ! ! 10/12/85 - Donated to AMUS ! 10/16/85 - Updated version sent to AMUS ! ! Compile and install in 7,6 ! ! Requires AMOS.SBR, available on AMUS system ! Requires JOBNAM.SBR, also available as above ! ! Submits .CMD or .RUN jobs to the TASK MANAGER. ! Written for 1.3, should run under previous versions with the ! exception that PRIORITY has changed from earlier versions ! to 1.3. As of this date, 1.3 has an error in that the ! default priority for SUBMIT is 256, which under 1.3 is ! an illegal priority! We get around that by specifying ! /PRI:13, which seems to be default priority under 1.3. ! ! ! Also place following file in 2,2: ! !;TASK.DO - COMMAND FILE TO CREATE AND SUBMIT A CONTROL FILE TO TASK MANAGER !; USE WITH TASK.BAS IN 7,6 !:R !RUN TASK !$0 ! !;END OF TASK.DO ! ! USAGE: TASK command{.EXT} {[P,PPN]} ! ! Program checks for specific PPN in argument, id'd by ! presence of [] in argument. If not found, it then checks ! .CMD, .CMD[2,2], .RUN, .RUN[7,6] in that order and when ! found, submits a control file, TMPx.CTL, which executes ! the command. Otherwise it uses the specified command with ! ppn and creates the control file and executes it. ! ! As written, this program directs Task Manager to log to 7,0. ! Should you prefer, you may change this by modifying the ! variable RUN'PPN to suit. ! ! It will be more convenient to set RUN'PPN to the ppn where ! you will typically execute this command, since the command ! files will reside there. Otherwise, specify the PPN where ! the command file lives. ! ! EXAMPLE: Create a command file called SDF.CMD, which will look like: ! :R ! DIR ! ! From command level, enter TASK SDF. This will cause ! the Task Manager to execute a directory. MAP1 VARS MAP2 JOB ,S,6 MAP2 COMMAND ,S,50 MAP2 OUTFILE ,S,25 MAP2 PRGNAME ,S,30 MAP2 TNAME ,S,30 MAP2 EXTS(4) ,S,13 MAP2 MAXEXT ,F,6 ,4 MAP2 RUN'PPN ,S,7 ,"7,0" ! Modify to suit - see text PROC: XCALL JOBNAM,JOB XCALL STRIP,JOB DATA ".CMD",".CMD[2,2]",".RUN",".RUN[7,6]" FOR L = 1 TO MAXEXT READ EXTS(L) NEXT L INPUT LINE PRGNAME IF INSTR(1,PRGNAME,"[") & TNAME = PRGNAME: & LOOKUP TNAME,FOUND: & GOTO ISITTHERE A = INSTR(1,PRGNAME,".") IF A PRGNAME = PRGNAME[1,A-1] FOR L = 1 TO MAXEXT TNAME = PRGNAME + EXTS(L) CALL CHECK IF FOUND LX=L: L=MAXEXT NEXT L ISITTHERE: IF FOUND GOTO FOUNDIT PRINT "Cannot find "+PRGNAME GOTO ALL'DONE FOUNDIT: CALL OPEN'FILE PRINT #14,"LOG "+RUN'PPN IF LX<3 PRINT #14,TNAME : & ELSE PRINT #14,"RUN "+TNAME PRINT #14,"SEND "+JOB+" "+TNAME+" Completed." PRINT #14,"ERASE "+OUTFILE CLOSE #14 COMMAND = "SUBMIT "+OUTFILE+"/PRI:13" SDD: XCALL AMOS,COMMAND GOTO ALL'DONE CHECK: LOOKUP TNAME,FOUND RETURN OPEN'FILE: EX=0 OL: EX=EX+1 IF EX=1000 PRINT "TOO MANY .CTL FILES - ABORTING": ABORT=1: RETURN OUTFILE="TMP"+EX+".CTL" LOOKUP OUTFILE,FOUND IF FOUND GOTO OL OPEN #14,OUTFILE,OUTPUT RETURN ALL'DONE: END