PROC activate_ptf (
  load_map, lm : file = $optional
  status       : var of status = $optional
  )


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

"   This request defines and activates the system task for the PTF server application.
*IFEND


  create_variable local_status kind=status
  create_variable ptf_library kind=string value='$system.ptf_qtf.osf$user_file_transfer'


  display_catalog_entry $fname(ptf_library) display_option=log output=$null status=local_status
  IF NOT local_status.normal THEN
    display_value value=local_status output=$response
    put_line ('  ', ' --ERROR-- Unable to activate:  PTF is not installed.') o=$response
    EXIT_PROC
  IFEND

  IF $specified(load_map) THEN
    map_file = $string($value(load_map))
    options = 'all'
  ELSE
    map_file = '$null'
    options = 'none'
  IFEND

  delete_system_task name=osa$file_transfer_server status=local_status
  IF NOT local_status.normal AND ($condition(local_status.condition) <> 'OSE$SYSTEM_TASK_NOT_DEFINED') THEN
    EXIT_PROC WITH local_status
  IFEND

  define_system_task name=osa$file_transfer_server library=$fname(ptf_library) ..
        starting_procedure=nfp$file_transfer_boot automatic_restart=false restart_after_idle=true ..
        deactivate_task_option=terminate idle_task_option=terminate load_map=$fname(map_file) ..
        load_map_options=$name(options) termination_error_level=error status=local_status

  EXIT_PROC WITH local_status WHEN NOT local_status.normal

  activate_system_task task_name=osa$file_transfer_server

PROCEND activate_ptf

