PROC move_site_files (
  status : var of status = $optional
  )


*IF $variable(rav$proc_doc,declared)<>'UNKNOWN'

" This is one of several procedures created to simplify the installation process.
" These procedures are kept in the OSF$SITE_COMMAND_LIBRARY and therefore will
" receive minimal support.
"
" The purpose of this procedure is to make sure certain site files reside on a K
" classed device.  This is accomplished by simply copying the files to their
" respective $NEXT cycles.  All existing lower cycles will be given a retention
" period of 7 days.  This procedure is called out in the upgrade chapter of the
" SRB.
*IFEND


  create_variable files k=string d=14
  create_variable ignore_status k=status
  create_variable local_status k=status
  create_variable retention k=integer v=7

  files(1) = '$SYSTEM.PROLOGS_AND_EPILOGS.JOB_ACTIVATION_PROLOG'
  files(2) = '$SYSTEM.PROLOGS_AND_EPILOGS.JOB_ACTIVATION_EPILOG'
  files(3) = '$SYSTEM.PROLOGS_AND_EPILOGS.NETWORK_ACTIVATION_PROLOG'
  files(4) = '$SYSTEM.PROLOGS_AND_EPILOGS.NETWORK_ACTIVATION_EPILOG'
  files(5) = '$SYSTEM.PROLOGS_AND_EPILOGS.SYSTEM_INITIATION_PROLOG'
  files(6) = '$SYSTEM.PROLOGS_AND_EPILOGS.SYSTEM_INITIATION_EPILOG'
  files(7) = '$SYSTEM.PROLOGS_AND_EPILOGS.SYSTEM_TERMINATION_PROLOG'
  files(8) = '$SYSTEM.PROLOGS_AND_EPILOGS.SYSTEM_PROLOG'
  files(9) = '$SYSTEM.PROLOGS_AND_EPILOGS.SYSTEM_EPILOG'
  files(10) = '$SYSTEM.CDCNET.SITE_CONTROLLED.CONFIGURATION'
  files(11) = '$SYSTEM.CDCNET.SITE_CONTROLLED.EXCEPTION_LIST'
  files(12) = '$SYSTEM.CDCNET.SITE_CONTROLLED.PROCEDURES.USER'
  files(13) = '$SYSTEM.CDCNET.SITE_CONTROLLED.PROCEDURES.TERMINAL'
  files(14) = '$SYSTEM.CDCNET.SITE_CONTROLLED.PROCEDURES.DEVICE_LOAD'


move_files: ..
  FOR i = 1 TO $variable(files, upper_bound) DO
    IF NOT $file($fname(files(i)), assigned) THEN
      put_line ' Unable to move '//$string($fname(files(i)))//'; file unknown.' o=$response
    ELSE
      put_line ' Copying file '//$string($fname(files(i)))//' to $NEXT cycle.' o=$response
      copy_file i=$fname(files(i)) o=$fname(files(i)//'.$next') status=local_status
      IF NOT local_status.normal THEN
        put_line $strrep(local_status) o=$response
        CYCLE move_files
      IFEND

      low_cycle = $file($fname(files(i)//'.$low'), cycle_number)
      high_cycle = $file($fname(files(i)//'.$high'), cycle_number)

      FOR cycle = low_cycle TO (high_cycle - 1) DO
        IF $file($fname(files(i)//'.'//$strrep(cycle)), assigned) THEN
          change_catalog_entry $fname(files(i)//'.'//$strrep(cycle)) nr=retention status=ignore_status
        IFEND
      FOREND
    IFEND
  FOREND move_files

  EXIT_PROC WITH local_status WHEN NOT local_status.normal

PROCEND move_site_files
