Copyright Digital Equipment Corp. All rights reserved.

Example

 $ IF $RESTART THEN GOTO 'BATCH$RESTART'
    .
    .
    .
 $ FIRSTPART:
 $ SET RESTART_VALUE = FIRSTPART
 $ RUN PART1
    .
    .
    .
 $ SECONDPART:
 $ SET RESTART_VALUE = SECONDPART
 $ RUN PART2
    .
    .
    .

     In this example, the first command states that, if $RESTART
     is true, the procedure is to jump to the value contained in
     BATCH$RESTART. ($RESTART is true only if the job has been
     executed before, that is, the job is being rerun after a crash
     or after having been requeued.)

     The first SET RESTART_VALUE command assigns the label FIRSTPART
     to be equal to the symbol BATCH$RESTART. The next line contains
     the command to run PART1.EXE.

     The second SET RESTART_VALUE command assigns the label
     SECONDPART to be equal to the symbol BATCH$RESTART. The last
     line shown contains the command to run PART2.EXE.

     When the job is first submitted using the SUBMIT/RESTART
     command, the value of $RESTART is FALSE, so the IF expression
     is ignored. If the job is stopped during the run of PART1.EXE,
     the value of BATCH$RESTART is FIRSTPART. When the job is
     restarted, the value of $RESTART is TRUE; therefore, the IF
     expression is processed and transfers control to the FIRSTPART
     label in the procedure. PART1.EXE is rerun.

     If the job is stopped during the run of PART2.EXE, the value
     of BATCH$RESTART is SECONDPART. When the job is restarted,
     the value of $RESTART is TRUE. In this instance, the IF-GOTO
     command transfers control to the SECONDPART label in the
     procedure so that PART2.EXE can be run. PART1.EXE is not rerun.