$! SCHEDULER.COM $! $! Note: Define the following logicals in SYLOGICALS.COM: $! $! SCHED$DIR: $! Directory that contains the command procedures $! referenced in this procedure $! $! $ SCHED_SUBMIT := SUBMIT/RESTART/NOPRINT/USER=SYSTEM $ SCHED_HOUR == F$CVTIME(,,"HOUR") $ SCHED_WKDY == F$CVTIME(,,"WEEKDAY") $ SCHED_MTHDY == F$CVTIME(,,"DAY") $ SCHED_MONTH == F$CVTIME(,"ABSOLUTE","MONTH") ! Use DD-MMM-YYYY format $ SCHED_YEAR == F$CVTIME(,,"YEAR") $! $! See if we're being restarted $! $ IF $RESTART $ THEN $ IF F$TYPE(BATCH$RESTART) .NES. "" $ THEN $ REQUEST/TO=CENTRAL "RESTARTING SCHEDULER AT STEP ''BATCH$RESTART'" $ GOTO 'BATCH$RESTART $ ENDIF $ ELSE $ REQUEST/TO=CENTRAL "RESTARTING SCHEDULER FROM BEGINNING." $ ENDIF $! $ SET RESTART=RESUBMIT $! $! Re-submit for tomorrow $! $ SCHED_SUBMIT/AFTER="TOMORROW+00:10" SCHED$DIR:SCHEDULER $! $! Perform Daily Processing $! $DAILY: $ SET RESTART=DAILY $ SCHED_SUBMIT SCHED$DIR:DAILY_PROCESSING $! $! If Saturday, perform Weekly Processing $! $WEEKLY: $ SET RESTART=WEEKLY $ IF SCHED_WKDAY .EQS. "Saturday" THEN - SCHED_SUBMIT SCHED$DIR:WEEKLY_PROCESSING $! $! If 1st day of Month, perform Monthly Processing $! $MONTHLY: $ SET RESTART=MONTHLY $ IF SCHED_MTHDY .EQS. "01" THEN - SCHED_SUBMIT SCHED$DIR:MONTHLY_PROCESSING $! $ EXIT