PROCEDURE restore_testve, rest (
  vsn: any of
         string 1 .. 6
         name 1 .. 6
       anyend = $required
  old_catalog, oc: file = .testve.new_tests
  status)

  create_variables name=(ignore_stat, stat) kind=status

"THIS PROC WILL PURGE AND THEN RESTORE THE CONTENTS OF TESTVE CATALOG
"FROM A BACKUP TAPE.  THE VSN OF THE BACKUP TAPE MUST BE PASSED AS
"A PARAMETER TO THIS PROC.  AN INFORMATIVE ERROR DISPLAY IS PRESENTED
"IF A ERROR IS ENCOUNTERED.

  TASK ring=11 "change to ring 7 when batch ring privilege problem resolved"
    delete_catalog_contents .testve status=stat
  TASKEND
  IF NOT stat.normal AND $condition(stat.condition) = 'PFE$INVALID_RING_ACCESS' THEN
COLLECT_TEXT warning_msg until='  end_of_warning_msg'
YOU MUST DELETE THE FILE .TESTVE.TEST_TOOLS.BOUND_PRODUCT
      USE THE FOLLOWING COMMAND SEQUENCE
            TASK RING=7
            DELETE_FILE .TESTVE.TEST_TOOLS.BOUND_PRODUCT
            TASKEND
      THEN CALL THIS PROCEDURE AGAIN
  end_of_warning_msg
    copy_file warning_msg $output
    EXIT_PROC
  IFEND

  request_magnetic_tape file=tape evsn=vsn type=mt9$6250
  RESTORE_PERMANENT_FILES status=ignore_stat
    restore_existing_catalog catalog=old_catalog backup_file=tape ncn=.testve status=stat
  QUIT

  IF NOT stat.normal THEN
    detach_file file=tape status=ignore_stat
    EXIT_PROC WITH stat
  IFEND
  detach_file file=tape

PROCEND restore_testve

