SAP后台JOB的Submit & EVENT JOB


SM35執行一個后台作業后,想及時停止,

運行SM37后,點擊ctr + F1停止活動的作業,系統根本就沒反應。

解決方法:

第一步:SM50,

找到,Ty.列為BGD的(Background),然后再找到你剛運行的那個后台Job的行,選中;然后在菜單點擊:Process---Cancel with core. 即可。

第二步:SM37查看Background Job,應該為“取消”狀態。

第三步:SM35,選中Session Name,點擊小綠旗release即可。

http://blog.sina.com.cn/s/blog_76c57b480100rumm.html

How to define event background job in SAP?

以下為操作中會用到Function和T-code:

Function: BP_EVENT_RAISE

T-code:SM62、SM36、SM37

1. 首先來定義一個Event ID。

a.執行SM62

有關Event定義沒有嚴格的要求,只要能辨別出是你的,用來觸發那個Job就行了。

 

2. 為被觸發程式(Program2)定義Background Job。

 執行SM36(這里記錄的是關鍵步驟,有疑問請復習一下SM36的使用。)

Start condition > After event >

通過紅色標記選項處先出事先定義的Event,完成后保存。

 

3. 在觸發程式(Program1)中調用激活觸發事件的Function。

"以下是在程式開始定義的一個變量,也可以是一個常量。

PARAMETERS: P_EVENT(30) TYPE C OBLIGATORY                           

                       DEFAULT 'Evt_TEST'.

"以下是在程式最后定義的一個Group,也可以單一調用。

FORM AUTO_CREAT_WO_BY_GROUP. 

DATA: WRK_TIMES(2) TYPE C . 

DATA: WRK_EVENT(31) TYPE C .

  DO P_GROUP TIMES.     

WRK_TIMES = WRK_TIMES + 1.    

CONCATENATE P_EVENT WRK_TIMES INTO WRK_EVENT .    

CALL FUNCTION 'BP_EVENT_RAISE'          

EXPORTING EVENTID = WRK_EVENT          

OTHERS = 1

.   

ENDDO.

ENDFORM. 

 

* 操作步驟3,保證程式中定義常量或者變量中已定義的或者將要定義的Event值要和你通過SM62定義的Event名稱要一致

JOB_SUBMIT 示例程序:設置后台Job,更多功能請看函數組:BTCH

  1 *&---------------------------------------------------------------------*
  2 *& Report  Z_BARRY_SET_JOB                                             *
  3 *&                                                                     *
  4 *&---------------------------------------------------------------------*
  5 *&  設置后台Job,更多功能請看函數組:BTCH                              *
  6 *&---------------------------------------------------------------------*
  7 
  8 REPORT  z_barry_set_job                         .
  9 
 10 DATA: jobcount LIKE tbtcjob-jobcount.
 11 DATA: abort TYPE c,
 12       finish TYPE c,
 13       prelim TYPE c,
 14       ready TYPE c,
 15       run TYPE c,
 16       sched TYPE c.
 17 
 18 PARAMETERS: p_name LIKE tbtcjob-jobname OBLIGATORY DEFAULT 'Z_BARRY_TEST_JOB',
 19             p_date LIKE sy-datum OBLIGATORY,
 20             p_time LIKE sy-uzeit OBLIGATORY.
 21 SELECT-OPTIONS s_rept FOR sy-repid NO INTERVALS OBLIGATORY .
 22 
 23 START-OF-SELECTION.
 24   CALL FUNCTION 'JOB_OPEN' "定義一個Job
 25     EXPORTING
 26       jobname          = p_name
 27     IMPORTING
 28       jobcount         = jobcount  "Job id
 29     EXCEPTIONS
 30       cant_create_job  = 1
 31       invalid_job_data = 2
 32       jobname_missing  = 3
 33       OTHERS           = 4.
 34   IF sy-subrc <> 0.
 35     MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
 36             WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
 37   ENDIF.
 38 
 39   LOOP AT s_rept .
 40     CALL FUNCTION 'JOB_SUBMIT'  "Scheduled 這個Job
 41       EXPORTING
 42         authcknam               = sy-uname
 43         jobcount                = jobcount
 44         jobname                 = p_name
 45         report                  = s_rept-low
 46 *        VARIANT                 = 'TEST'
 47       EXCEPTIONS
 48         bad_priparams           = 1
 49         bad_xpgflags            = 2
 50         invalid_jobdata         = 3
 51         jobname_missing         = 4
 52         job_notex               = 5
 53         job_submit_failed       = 6
 54         lock_failed             = 7
 55         program_missing         = 8
 56         prog_abap_and_extpg_set = 9
 57         OTHERS                  = 10.
 58     IF sy-subrc <> 0.
 59       MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
 60               WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
 61     ENDIF.
 62   ENDLOOP.
 63 
 64   CALL FUNCTION 'JOB_CLOSE'  "Release 這個Job
 65     EXPORTING
 66       jobcount             = jobcount
 67       jobname              = p_name
 68       sdlstrtdt            = p_date
 69       sdlstrttm            = p_time
 70     EXCEPTIONS
 71       cant_start_immediate = 1
 72       invalid_startdate    = 2
 73       jobname_missing      = 3
 74       job_close_failed     = 4
 75       job_nosteps          = 5
 76       job_notex            = 6
 77       lock_failed          = 7
 78       OTHERS               = 8.
 79   IF sy-subrc <> 0.
 80     MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
 81             WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
 82   ENDIF.
 83 
 84   CALL FUNCTION 'SHOW_JOBSTATE'
 85     EXPORTING
 86       jobcount         = jobcount
 87       jobname          = p_name
 88     IMPORTING
 89       aborted          = abort
 90       finished         = finish
 91       preliminary      = prelim
 92       ready            = ready
 93       running          = run
 94       scheduled        = sched
 95     EXCEPTIONS
 96       jobcount_missing = 1
 97       jobname_missing  = 2
 98       job_notex        = 3
 99       OTHERS           = 4.
100   IF sy-subrc <> 0.
101     MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
102             WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
103   ENDIF.
104 
105   WRITE : / 'Canceled              :' , abort ,
106           / 'Finished              :' , finish,
107           / 'Scheduled Temporarily :' , prelim,
108           / 'Ready for Execution   :' , ready,
109           / 'Active                :' , run,
110           / 'Scheduling Released   :' , sched.

 

后台作業信息存儲在透明表TBTCP(批作業步驟概述)中,試圖V_OP中。

函數組BTCH中有很多方法可以處理。

* 取后台作業記錄
  SELECT *
    INTO TABLE LI_OP
    FROM V_OP
    WHERE JOBNAME LIKE 'ZPSMAM_RFC%'
      AND SDLUNAME = SY-UNAME
      AND ( STATUS   = 'A' OR STATUS = 'F' ).

PS:台作業狀態(STATUS)信息和參數對照如下:

1  Active       STATUS = R

2  就緒          STATUS = Y

3  已調度的 STATUS = P

4  已釋放      STATUS = S

5  已取消      STATUS = A

6   已完成     STATUS = F

7  批准/暫停 STATUS = Z

 

*  刪除后台記錄

     LOOP AT LI_OP INTO LW_OP.

    CALL FUNCTION 'BP_JOB_DELETE'
      EXPORTING
        JOBCOUNT                       = LW_OP-JOBCOUNT
        JOBNAME                        = LW_OP-JOBNAME
*       FORCEDMODE                     = ' '
*       COMMITMODE                     = 'X'

  。。。。。。。。。。。

  ENDLOOP.
---------------------
作者:SAP劍客
來源:CSDN
原文:https://blog.csdn.net/zhongguomao/article/details/79091618
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM