*COMDECK JOBTVF 
JOBTVF
*IF -DEF,SVL,1
TITLE(JOB) JOBTVF - TVF RELEASE DEFAULT JOB SKELETON. 
*IF DEF,SVLC,1
TITLE(JOB) JOBTVF - TVF SUNNYVALE CLOSED SHOP DEFAULT JOB SKELETON. 
*IF DEF,SVLD,1
TITLE(JOB) JOBTVF - TVF SUNNYVALE DEVELOPMENT DEFAULT JOB SKELETON. 
.*
.*
.*  THIS IS THE STARTUP JOB FOR TVF.
.*
.*    THE PERMANENT FILES THAT TVF DUMPS AND TRACES ARE WRITTEN TO
.*    WILL BE COLLECTED BY THE COLLECTOR JOB ALONG WITH THE 
.*    REST OF THE THE NETWORK TRACES AND DUMPS. 
.*
.*
.*  THE FOLLOWING PARAMETERS MUST BE SET IN THE PARAMETER RECORD. 
.*
.*    ZZRUNCT = MAXIMUM NUMBER OF EXECUTION RUNS OF TVF 
.*              WITHOUT OPERATOR INTERVENTION.
.*
.*
.*  PERMANENT FILES FOR RUN DATA ARE DEFINED AT JOB TERMINATION.
.*
.*       TFN       LFN       PFN       CONTENTS 
.*
.*       OUTPUT    TVFOUT    TVD0FIL   OUTPUT FROM JOB (DMP,DMD,ETC). 
.*       ZZZZDMB   TVFDMB    TVD2FIL   BINARY FIELD LENGTH DUMPS. 
.*                 TVFLST    TVL0FIL   JOB DAYFILE. 
.*       ZZZZZDN   TRCLEV1             AIP TRACE FILE WRITTEN BY TVF. 
.*                 TRCLEV3   TVT0FIL   PERMANENT AIP TRACE FILE.
.*
.*
.*
*IF -DEF,SVL,1
TVF_CIN,T77777.    TVF RELEASE DEFAULT JOB. 
*IF DEF,SVLC,1
TVF_CIN,T77777.    TVF SUNNYVALE CLOSED SHOP DEFAULT JOB. 
*IF DEF,SVLD,1
TVF_CIN,T77777.    TVF SUNNYVALE DEVELOPMENT DEFAULT JOB. 
USER(UNM,PWM) 
NORERUN.
*IF DEF,SVL,1 
DTSET.*  TODAY IS WWW MMDDYY, SN = SSS. 
*IF -DEF,SVL,2
DISPLAY(DATE) 
DISPLAY(HID)
DISPLAY(OT) 
DISPLAY(SC) 
RETURN(OUTPUT)
.*
.*  LOOP RESTARTING TVF UNTIL NORMAL TERMINATION OR NAM ABORTS. 
.*  ALSO STOP FOR CERTAIN SYSTEM ERRORS.
.*
SET(R1=ZZRUNCT) 
WHILE(1,LOOP1)
SET(EF=0) 
RFL(15000)
TVF1. NIN=CIN 
.*
.*  TVF NORMAL TERMINATION - CHECK FOR PREVIOUS FAILURE.
.*
RFL(0)
SKIP(BAILOUT) 
.*
EXIT.  TVF
.*
.*
.*  TVF FAILED - CHECK IF LOOP OR QUIT. 
.*
.*
DISPLAY(EF) 
RFL(0)
IF(EF.NE.ODE,SAVFILS) 
IF(EF.NE.DRE,SAVFILS) 
IF(EF.NE.SSE,SAVFILS) 
IF(EF.NE.SYE,BAILOUT) 
IF(EF.NE.RAE,SAVFILS) 
IF(EF.NE.ORE,SAVFILS) 
IF(R1.GT.1,SAVFILS) 
SET(R1=R1-1)
.*
.*  WILL LOOP - SAVE TRACE DATA IF AVAILABLE. 
.*
IF(FILE(ZZZZZDN,AS),NOTRACE)
ATTACH(TRCLEV3=TVT0FIL/NA,M=W)
*IF DEF,SVL,1 
IF(.NOT.FILE(TRCLEV3,AS))  DEFINE(TRCLEV3=TVT0FIL/CT=PU)
*IF -DEF,SVL,1
IF(.NOT.FILE(TRCLEV3,AS))  DEFINE(TRCLEV3=TVT0FIL)
SKIPEI(TRCLEV3) 
RENAME(TRCLEV1=ZZZZZDN) 
REWIND(TRCLEV1) 
COPYBF(TRCLEV1,TRCLEV3) 
BKSP(TRCLEV3) 
SKIPR(TRCLEV3)
IF(.NOT.FILE(TRCLEV3,EOF))  WRITEF(TRCLEV3) 
RETURN(TRCLEV1,TRCLEV3) 
ENDIF(NOTRACE)
.*
ENDW(LOOP1) 
.*
.*  END OF AUTO RESTART SECTION.
.*
ENDIF(BAILOUT)
IF(R1.EQ.ZZRUNCT,SAVFILS) 
ATTACH(TVFLST=TVL0FIL/NA) 
IF(.NOT.FILE(TVFLST,AS),SAVFILS)
.*
.*  NO PREVIOUS FAILURE, DO NOT SAVE RUN DATA ON PERMANENT FILES. 
.*
SETJOB(DC=NO) 
EXIT.  TVF
.*
.*  SAVE RUN DATA IF AVAILABLE
.*
ENDIF(SAVFILS)
.*
IF(FILE(OUTPUT,AS),NOUTPUT) 
ATTACH(TVFOUT=TVD0FIL/NA,M=W) 
*IF DEF,SVL,1 
IF(.NOT.FILE(TVFOUT,AS))  DEFINE(TVFOUT=TVD0FIL/CT=PU)
*IF -DEF,SVL,1
IF(.NOT.FILE(TVFOUT,AS))  DEFINE(TVFOUT=TVD0FIL)
REWIND(OUTPUT)
SKIPEI(TVFOUT)
COPYEI(OUTPUT,TVFOUT) 
RETURN(OUTPUT,TVFOUT) 
ENDIF(NOUTPUT)
.*
IF(FILE(ZZZZDMB,AS),NOZZDMB)
ATTACH(TVFDMB=TVD2FIL/NA,M=W) 
*IF DEF,SVL,1 
IF(.NOT.FILE(TVFDMB,AS))  DEFINE(TVFDMB=TVD2FIL/CT=PU)
*IF -DEF,SVL,1
IF(.NOT.FILE(TVFDMB,AS))  DEFINE(TVFDMB=TVD2FIL)
REWIND(ZZZZDMB) 
SKIPEI(TVFDMB)
COPYEI(ZZZZDMB,TVFDMB)
RETURN(ZZZZDMB,TVFDMB)
ENDIF(NOZZDMB)
.*
IF(FILE(ZZZZZDN,AS),NOTRACE)
ATTACH(TRCLEV3=TVT0FIL/NA,M=W)
*IF DEF,SVL,1 
IF(.NOT.FILE(TRCLEV3,AS))  DEFINE(TRCLEV3=TVT0FIL/CT=PU)
*IF -DEF,SVL,1
IF(.NOT.FILE(TRCLEV3,AS))  DEFINE(TRCLEV3=TVT0FIL)
SKIPEI(TRCLEV3) 
RENAME(TRCLEV1=ZZZZZDN) 
REWIND(TRCLEV1) 
COPYBF(TRCLEV1,TRCLEV3) 
BKSP(TRCLEV3) 
SKIPR(TRCLEV3)
IF(.NOT.FILE(TRCLEV3,EOF))  WRITEF(TRCLEV3) 
RETURN(TRCLEV1,TRCLEV3) 
ENDIF(NOTRACE)
.*
ATTACH(TVFLST=TVL0FIL/NA,M=W) 
*IF DEF,SVL,1 
IF(.NOT.FILE(TVFLST,AS))  DEFINE(TVFLST=TVL0FIL/CT=PU)
*IF -DEF,SVL,1
IF(.NOT.FILE(TVFLST,AS))  DEFINE(TVFLST=TVL0FIL)
SKIPEI(TVFLST)
NOTE(DFL,NR)/TVDA_CIN 
DAYFILE(DFL)
PACK(DFL) 
COPYEI(DFL,TVFLST)
.*
*IF DEF,SVL 
IF(EF.NE.0,DONE)
IF(EF.NE.ODE,DONE)
IF(EF.NE.DRE,DONE)
IF(EF.NE.SSE,DONE)
IF(EF.NE.SYE,DONE)
IF(EF.NE.RAE,DONE)
IF(EF.NE.ORE,DONE)
PAUSE.**TVF FAILED-NOTE/X.NAMI(RS=TVF)
ENDIF(DONE) 
*ENDIF
SETJOB(DC=NO) 
EXIT.  TVF
*CWEOR,0
