VMS Help  —  SET  RESTART_VALUE, 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.
Close Help