본문 바로가기
ABAP/Function|Class

[Function] BP_JOB_DELETE - 백그라운드 작업 삭제

by name_text 2023. 6. 22.

BP_JOB_DELETE

백그라운드 작업 삭제

 

비동기 처리를 위해 생성한 백그라운드 작업과 같이 이력이 불필요한 작업에 대해 삭제 할수 있습니다.

 

# 사용 예시

SELECT
  A~JOBNAME,
  A~JOBCOUNT
FROM TBTCO AS A
WHERE A~JOBNAME LIKE 'XS_%'   "작업 이름이 XS_ 로 시작하는 작업만
  AND A~STATUS  EQ 'F'        "작업 결과가 정상종료
  AND A~AUTHCKMAN EQ @SY-MANDT
INTO TABLE @DATA(LT_TBTCO).
  
LOOP AT LT_TBTCO INTO DATA(LS_TBTCO).
  CALL FUNCTION 'BP_JOB_DELETE'
    EXPORTING
      JOBCOUNT                 = LS_TBTCO-JOBCOUNT
      JOBNAME                  = LS_TBTCO-JOBNAME
*     FORCEDMODE               = ' '
*     COMMITMODE               = 'X'
*     DELINFO                  = ' '
    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.
* Implement suitable error handling here
  ENDIF.
ENDLOOP.

 

댓글