Transaktion SM62 (Batch Events)
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 ein neues Event anlegen. Hier das Ereignis 'ZTEST_BPE1'.
Anlegen Hintergrundjob in SM36
1. Transaktion SM36 starten
2. Per Assistent wird nun ein neuer Job angelegt
Weiter
Jobname und Priorität vergeben
Weiter
Weiter
ABAP-Programmname und gegebenenfalls Variante pflegen
Weiter
Weiter
Hier den Radiobutton "Nach Ereignis" wählen
Weiter
Das Ereignis wählen, was in Transaktion SE62 definiert wurde
Weiter
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.