*COMDECK JOBCOL 
JOBCOL
TITLE(JOB) JOBCOL - COLLECT NETWORK DUMPS ON TAPE.
.*
.*
.*  THIS JOB WILL LOCATE AND COPY TO LABELED TAPE(S) ALL NETWORK
.*    DUMP AND TRACE FILES FOR PREVIOUS NETWORK INVOCATIONS.
.*
.*
.*  THE FOLLOWING PARAMETERS MAY BE SET IN THE PARAMETER RECORD.
.*
.*    ONETAPE = YES - SPECIFIES TO COPY HOST, NPU, AND MDI DUMPS
.*                    TO ONE TAPE (DEFAULT IS THREE TAPES). 
.*
.*    CDCNET = YES - SPECIFIES TO COLLECT MDI DUMPS.
.*
.*
.*  NOTE - IN ORDER TO COLLECT MDI DUMP FILES, *COLLECT* MUST BE
.*         BUILT WITH *CDCNET* DEFINED AS WELL AS HAVING
.*         *CDCNET=YES* IN THE PARAMETER RECORD.
.*
.*
.*
COLT_OIN,T77777.   COPY TO TAPE PREVIOUS NETWORK DUMPS/TRACES.
USER(UNM,PWM) 
NORERUN.
DISPLAY(DATE) 
DISPLAY(HID)
DISPLAY(OT) 
DISPLAY(SC) 
RETURN(OUTPUT)
.*
.*  DELAY TO PREVENT OCCUPYING SUBSYSTEM CONTROL POINT. 
.*
ROLLOUT(30) 
.*
.*  SET UP SUB-PROCEDURE. 
.*
COPYBR(INPUT,COLSUB)
.*
.*  COLLECT FILES, DO NOT PURGE PERMANENT FILES.
.*
IF($CDCNET$.EQ.$YES$,NTCDCNT) 
CLCDCNT(NIN=OIN,NOPURGE)
ELSE(NTCDCNT) 
COLLECT(NIN=OIN,NOPURGE)
ENDIF(NTCDCNT)
.*
.*  CALL SUB-PROC TO PROCESS DUMP FILES.
.*
WHILE(1,LOOP) 
SET(R1G=0)
BEGIN(,COLSUB,DUMP_OIN,HOSTAPE,HOST)
IF(R1G.AND.1)  ENDW(LOOP) 
BEGIN(,COLSUB,DUNP_OIN,NPUTAPE,NPU) 
IF(R1G.AND.1)  ENDW(LOOP) 
IF($CDCNET$.EQ.$YES$,NTCDCNT) 
BEGIN(,COLSUB,DMDI_OIN,MDITAPE,MDI) 
IF(R1G.AND.1)  ENDW(LOOP) 
ENDIF(NTCDCNT)
UNLOAD(NETTAPE) 
.*
.*
.*  ALL DONE, PURGE INPUT FILES IF ANY FOUND. 
.*
.*
IF($CDCNET$.EQ.$YES$,NTCDCNT) 
IF(R1G.AND.2)  CLCDCNT(NIN=OIN,NOSAVE)
ELSE(NTCDCNT) 
IF(R1G.AND.2)  COLLECT(NIN=OIN,NOSAVE)
ENDIF(NTCDCNT)
SETJOB(DC=NO) 
EXIT.  COLT 
.EOR
.*
.*
.*  THIS IS THE COLLECT JOB SUB-PROCEDURE.
.*
.*
.PROC,COLSUB*I,DUMPLFN=(*F),
               TAPELFN=(*F),
               DUMPID=(*F). 
.*
IF(.NOT.FILE(DUMPLFN,AS))  REVERT.  COLSUB
REWIND(DUMPLFN) 
SKIPR(DUMPLFN)
IF(FILE(DUMPLFN,EOI))  REVERT.  COLSUB
SET(R1G=R1G.OR.2) 
.*
.*  FILE(S) FOUND, COPY TO TAPE.
.*
WHILE(1,LOOP) 
SET(EF=0) 
IF($ONETAPE$.EQ.$YES$,MULTI)
IF(.NOT.FILE(NETTAPE,AS))  LABEL(NETTAPE,PO=FW)  NETWORK DUMP TAPE
ELSE(MULTI) 
LABEL(TAPELFN,PO=W)  DUMPID DUMP TAPE 
RENAME(NETTAPE=TAPELFN) 
ENDIF(MULTI)
SKIPEI(NETTAPE) 
BKSP(NETTAPE) 
REWIND(DUMPLFN) 
COPYBF(DUMPLFN,NETTAPE) 
SKIP(CPYDONE) 
.*
EXIT.  COLSUB 
.*
.*  COPY FAILED - CHECK IF LOOP OR QUIT.
.*
DISPLAY(EF) 
IF(EF.NE.ODE,ABORTED) 
IF(EF.NE.DRE,ABORTED) 
IF(EF.NE.SYE,ABORTED) 
IF(EF.NE.RAE,ABORTED) 
IF(EF.NE.ORE,ABORTED) 
.*
.*  WILL LOOP - UNLOAD AND RE-REQUEST TAPE. 
.*
UNLOAD(NETTAPE) 
IF($ONETAPE$.NE.$YES$)  ENDW(LOOP)
SET(R1G=R1G.OR.1) 
REVERT.  COLSUB 
.*
ENDIF(CPYDONE)
IF($ONETAPE$.NE.$YES$)  UNLOAD(NETTAPE) 
REVERT.  COLSUB 
.*
EXIT.  COLSUB 
ENDIF(ABORTED)
REVERT(ABORT)  COLSUB 
*CWEOR,0
