ABAP 在程序中启动后台JOB

DATAlv_job_name         LIKE tbtco-jobname    "作业名
  lv_job_nr           LIKE tbtco-jobcount         "作业号
  lv_job_released     TYPE c,
  lv_job_start_sofort TYPE c,
  lv_print_parameters TYPE pri_params.

  DATA:lt_rspar  TYPE TABLE OF rsparams,
       lw_line LIKE LINE OF lt_rspar.
  "如果是要传给PARAMETER  根据需求设置屏幕参数
  lw_line-selname 'P_MONAT'.
  lw_line-kind    'P'.
  lw_line-sign    'I'.
  lw_line-option  'EQ'.
  lw_line-low     p_monat.
  APPEND lw_line TO lt_rspar.
  "传值给 SELECT-OPTION
  lw_line-selname 'S_WERKS'.
  lw_line-kind    'S'.
  lw_line-sign    'I'.
  lw_line-option  'EQ'.
  lw_line-low     '1000'.
  APPEND lw_line TO lt_rspar.
  APPEND lw_line TO lt_rspar.

  "JOB 名称
  lv_job_name job_name .
  "打开JOB 通过JOB name 获得JOB号
  CALL FUNCTION 'JOB_OPEN'
    EXPORTING
      jobname          lv_job_name
    IMPORTING
      jobcount         lv_job_nr
    EXCEPTIONS
      cant_create_job  1
      invalid_job_data 2
      jobname_missing  3
      OTHERS           4.
  IF syst-subrc 0.

    "调用需要跑JOB的程序
    SUBMIT (lv_job_name)
        WITH SELECTION-TABLE  lt_rspar 
        USER syst-uname          mandatory
       VIA JOB lv_job_name NUMBER lv_job_nr AND RETURN.

    "运行结束  关闭JOB
    IF sy-subrc 0.
      CALL FUNCTION 'JOB_CLOSE'
        EXPORTING
          jobcount             lv_job_nr
          jobname              lv_job_name
          strtimmed            'X'
        IMPORTING
          job_was_released     lv_job_released
        EXCEPTIONS
          cant_start_immediate 1
          invalid_startdate    2
          jobname_missing      3
          job_close_failed     4
          job_nosteps          5
          job_notex            6
          lock_failed          7
          OTHERS               8.
      IF syst-subrc <> 0.
        MESSAGE '关闭后台作业出错' TYPE 'I'.
      ELSE.
        MESSAGE '后台JOB开始运行' TYPE 'I'.
      ENDIF.
    ENDIF.
  ENDIF.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值