PROCEDURE rap$delete_lpd (
  terminate_active_connections, tac : boolean = false
  status)

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

"    This request deletes the LPD client.
*IFEND

  VAR
    command_file: string = '$local.'//$unique
    delete_status: status
    ignore_status: status
    local_status: status
  VAREND

COLLECT_TEXT $fname(command_file) until='COLLECT_END'
  $system.osf$command_library.manage_network_applications

    deactivate_client client=osa$lpd_client tac=$value(terminate_active_connections) ..
          status=delete_status
    IF delete_status.normal OR ($condition(delete_status.condition) = 'NAE$APPLICATION_ALREADY_INACTIV') THEN
      delete_client client=osa$lpd_client status=delete_status
    IFEND

    deactivate_tcpip_application application=osa$lpd_client tas=terminate_active_connections ..
          status=delete_status
    IF delete_status.normal OR ($condition(delete_status.condition) = 'NAE$APPLICATION_ALREADY_INACTIV') THEN
      delete_tcpip_application application=osa$lpd_client status=delete_status
    IFEND

    IF delete_status.normal OR ($condition(delete_status.condition) = 'NAE$UNKNOWN_APPLICATION') THEN
      delete_status.normal = true
    IFEND

  quit
COLLECT_END

  include_file $fname(command_file) status=local_status
  delete_file $fname(command_file) status=ignore_status

  EXIT_PROC WITH local_status WHEN NOT local_status.normal
  EXIT_PROC WITH delete_status WHEN NOT delete_status.normal

PROCEND rap$delete_lpd

