PROCEDURE activate_mail_delivery_agent, actmda (
  job_class, jc : name = $job_default(job_class, batch)
  mail_catalog, mc: file = $required
  log, l: file = $null
  message_transfer_agent, mta: (BY_NAME, ADVANCED) any of
      string 1..12
      name 1..12
    anyend = mvd$default_mta, ' '
  status
  )



"   This request initiates the MAILVE custom delivery procedure as a NOS/VE job.

  VAR
    active_mta: string = 'MAILVE'
    mta_parm: string = ''
    log_parm: string = 'log='//$string(log)
  VAREND

  IF $specified(message_transfer_agent) THEN
    mta_parm = ' MTA='''//$string(message_transfer_agent)//''''
    active_mta = $string(message_transfer_agent)
  IFEND

  VAR
    application_job_name: name = $name('MVE_CD_'//active_mta//$mainframe(id))
    mail_library: file = $system.mailve_v2.maintenance.command_library
    mailve_job_log: file = $system.mailve_v2//$name('MVE_CD_'//active_mta//'_job_log')
    select_status: status
    submit_status: status
    system_job_name: name
  VAREND

  IF (NOT $file(mail_library  permanent)) THEN
    put_line lines=('  ', ' --ERROR-- Unable to activate:  MAILVE is not installed.') ..
          o=$response
    EXIT_PROC
  IFEND

  MANAGE_JOBS
    SELECT_JOB login_user=$SYSTEM login_family=$SYSTEM ..
      name=application_job_name job_state=(deferred, queued, initiated) ..
      status=select_status
    IF select_status.normal THEN
      IF $size(jmv$selected_jobs) > 0 THEN
        put_line ' MAILVE Custom Delivery is already active as job:' ..
          o=$response
        display_value jmv$selected_jobs o=$response
        EXIT procedure
      IFEND
    ELSE
      EXIT procedure WITH select_status
    IFEND
  QUIT

  JOB user_job_name=application_job_name ..
      job_class=job_class ..
      job_recovery_disposition=terminate ..
      job_abort_disposition=terminate ..
      output_disposition=mailve_job_log ..
      substitution_mark='?' ..
      system_job_name=system_job_name ..
      status=submit_status

    SOU capability=(system_administration, system_operation)

      TASK r=4

        VAR
          mvv$custom_delivery_catalog: (environment) file = ?mail_catalog?
        VAREND

        ?mail_library?.process_mail_files mc=?mail_catalog? ?log_parm? ?mta_parm?
      TASKEND

    QUIT
  JOBEND

  IF submit_status.normal THEN
    put_line ' MAILVE Custom Delivery has been activated as job  '//..
$string(application_job_name)//' ('//$string(system_job_name)//').' ..
        o=$response
  ELSE
    put_line ' --ERROR-- Unable to submit job for MAILVE Custom Delivery.' ..
      o=$response
  IFEND
  EXIT procedure WITH submit_status WHEN NOT submit_status.normal

PROCEND activate_mail_delivery_agent

