后台作业触发事件定义以及事件在程序中的调用

来源:互联网 发布:都玩网络手游 编辑:程序博客网 时间:2024/06/09 23:45

使用到的Function和T-code

Function:BP_EVENT_RAISE

T-code:SM62、SM36

1.定义EventID

a.执行SM62


EventID的定义没有严格的要求,一个原则:通过ID名称可以分辨出是有谁创建以及该Event是用来触发那个Job的。


2.为被触发程序Program2定义Background Job。

执行SM36

点击:开始条件->事件后



3.在触发程式Program1中调用激活触发事件的Function

*&---------------------------------------------------------------------*
*&      Form  FRM_AUTO_TRIGGER_JOB
*&---------------------------------------------------------------------*
*       通过调用事件触发后台作业
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_AUTO_TRIGGER_JOB .

  DATA:g_event(30) TYPE c VALUE 'Event_1_for_Program2'.

  CALL FUNCTION 'BP_EVENT_RAISE'
    EXPORTING
      EVENTID               = g_event
    EXCEPTIONS
      BAD_EVENTID            = 1
      EVENTID_DOES_NOT_EXIST = 2
      EVENTID_MISSING      = 3
      RAISE_FAILED       = 4
      OTHERS         = 5.
  IF SY-SUBRC <> 0.
* Implement suitable error handling here
  ENDIF.
ENDFORM.                    " FRM_AUTO_TRIGGER_JOB

 

注意:步骤3,和前面两步没有一定先后关系,但一定要保证程序中定义常量或者变量中已定义的或将要定义的Event值以及SM62定义的Event名称要一致。




原创粉丝点击