Transaktion SM62 (Batch Events)

Aus SAP-Wiki
Zur Navigation springenZur Suche springen

Mit der Transaktion SM62 können Batch-Events definiert werden. Diese Events werden mit dem Funktionsbaustein "BP_EVENT_RAISE" getriggert. In der Hintergrundjobverwaltung (Transaktion SM36) können Jobs definiert werden, die auf das Ereignis reagieren, was in SM62 definiert wurde.

Es gibt somit eine lose Kopplung zwischen dem auslösenden Programm und dem Programm/Prozess, was im Job definiert wurde.

Ausgelöstes Programm

Im Programm ZTEST_BPE2 wird nur ein Testdatensatz in die Tabelle ZTEST geschrieben.

REPORT  ZTEST_BPE2.

Parameter: p_lifnr type ztest-lifnr.

Data: ls_test type ztest.

ls_test-lifnr = '1000000006'.
ls_test-name1 = 'Testdatensatz'.

modify ztest from ls_test.
commit work.

Aufruf mit Funktionsbaustein BP_EVENT_RAISE

Im Report ZTEST_BPE1 wird der Funktionsbaustein 'BP_EVENT_RAISE' aufgerufen mit der Übergabe des SAP Events EVENTID = 'TEST_BPE1'.

REPORT  ZTEST_BPE1.

Start-of-Selection.

parameter: p_event type BTCEVENTID default 'ZTEST_BPE1'.

CALL FUNCTION 'BP_EVENT_RAISE'
  EXPORTING
    eventid                      = p_event
*   EVENTPARM                    = ' '
*   TARGET_INSTANCE              = ' '
 EXCEPTIONS
   BAD_EVENTID                  = 1
   EVENTID_DOES_NOT_EXIST       = 2
   EVENTID_MISSING              = 3
   RAISE_FAILED                 = 4
   OTHERS                       = 5.

IF sy-subrc <> 0.
 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

Definition Ereignis in SM62 (Batch Events)

Die SAP Events werden in der Transaktion SE62 definiert.

1. Transaktion SM62 starten

2. Mit dem Notizblatt BPE2.jpg ein neues Event anlegen. Hier das Ereignis 'ZTEST_BPE1'.

BPE1.jpg

Anlegen Hintergrundjob in SM36

1. Transaktion SM36 starten

BPE4.jpg

2. Per Assistent wird nun ein neuer Job angelegt

BPE3.jpg

BPE5.jpg

Weiter

Jobname und Priorität vergeben

BPE6.jpg

Weiter

BPE7.jpg

Weiter

ABAP-Programmname und gegebenenfalls Variante pflegen

BPE8.jpg

Weiter

BPE9.jpg

Weiter

Hier den Radiobutton "Nach Ereignis" wählen

BPE10.jpg

Weiter

Das Ereignis wählen, was in Transaktion SE62 definiert wurde

BPE11.jpg

Weiter

BPE12.jpg

Bei "Fertigstellen" wird der Job angelegt.

Auslösen Event

Sobald nun der Funktionsbaustein 'BP_EVENT_RAISE' ausgeführt wird mit dem Parameter/Event ZTEST_BPE1, wird der Event ZTEST_BPE1 getriggert und der für dieses Event registrierte Hintergrundjob ZTEST6 ausgeführt. Der beinhaltet den Report 'ZTEST_BPE2' und fügt nun einen Datensatz zu der Tabelle ZTEST hinzu.

BPE13.jpg

Web-Links