Abap程序中刪除已完成的后臺(tái)JOB

很多時(shí)候一個(gè)程序設(shè)定的JOB的時(shí)間范圍很小,一兩分鐘跑一次程序,一個(gè)程序又拆分N個(gè)進(jìn)程。一天下來(lái)已完成的量將無(wú)法估量,占用的內(nèi)存也很大。這時(shí)候就可以在程序中加入刪除后臺(tái)JOB的代碼。
先根據(jù)程序名查詢JOB名稱(chēng)以及JOB編號(hào)等信息

SELECT *
       FROM tbtcp
       INTO CORRESPONDING FIELDS OF TABLE lt_joblist
       WHERE (progname = 'XXX1' OR
               progname = 'XXX2' ) AND
             sdldate <= sy-datum AND
             sdldate >= lv_date.

再循壞查詢出來(lái)的JOB,進(jìn)行狀態(tài)的獲取,滿足已完成的狀態(tài)的JOB就刪除掉。

     LOOP AT lt_joblist INTO lw_job.
       CLEAR lv_status.
       CALL FUNCTION 'BDL_READ_JOB_STATUS'
         EXPORTING
           jobname       = lw_job-jobname
           jobnumber     = lw_job-jobcount
         IMPORTING
           jobstatus     = lv_status
         EXCEPTIONS
           job_not_found = 1
           OTHERS        = 2.
       IF sy-subrc <> 0.                                    "#EC NEEDED
       ENDIF.
       IF lv_status EQ 'F' .

         CALL FUNCTION 'BP_JOB_DELETE'   "delete job
                 EXPORTING
                   jobcount                 = lw_job-jobcount
                   jobname                  = lw_job-jobname
                   forcedmode               = 'X'
                 EXCEPTIONS
                   cant_delete_event_entry  = 1
                   cant_delete_job          = 2
                   cant_delete_joblog       = 3
                   cant_delete_steps        = 4
                   cant_delete_time_entry   = 5
                   cant_derelease_successor = 6
                   cant_enq_predecessor     = 7
                   cant_enq_successor       = 8
                   cant_enq_tbtco_entry     = 9
                   cant_update_predecessor  = 10
                   cant_update_successor    = 11
                   commit_failed            = 12
                   jobcount_missing         = 13
                   jobname_missing          = 14
                   job_does_not_exist       = 15
                   job_is_already_running   = 16
                   no_delete_authority      = 17
                   OTHERS                   = 18.
         IF sy-subrc <> 0.                                  "#EC NEEDED
         ENDIF.
       ENDIF.
     ENDLOOP.

有疑問(wèn)可以留言哈·

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容