Monday, May 18, 2009

Scheduling background jobs by triggering events

By Joyjit Ghosh

Step1: Create event from transaction SM62.

Give event name and description and press save button

Step2: Create a program that triggers this event by calling the FM ‘BP_EVENT_RAISE’.

*&---------------------------------------------------------------------*
*& Report Z_TRIGGER_EVENT *
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
REPORT  Z_TRIGGER_EVENT                         .
CALL FUNCTION 'BP_EVENT_RAISE'
EXPORTING
eventid = 'Z_TRIGGER_JOB'
EXCEPTIONS
BAD_EVENTID = 1
EVENTID_DOES_NOT_EXIST = 2
EVENTID_MISSING = 3
RAISE_FAILED = 4
OTHERS = 5
.
IF sy-subrc <> 0.
Write: 'Event failed to trigger'.
else.
Write: 'Event triggered'.
ENDIF.

Step3: Configure the background job from transaction SM36.

In the initial screen give job name and job class and press “Start condition” button.

In the popup screen press “After event” button and give the event name and then press save button.

Now go back to the initial screen and press “Step” button

Provide program and variant name and after providing all the values press save button.

In the initial screen press save button.

Step4: Now execute the program to trigger the event and as well check the background job.

Run transaction SM37

Check the status of job defined above

Now check the spool to see the generated list

No comments: