Die folgenden Transaktionen sind allgegenwärtig in der Programmierung rund um Events und Typkopplungen: SWELS, SWEL, SWEC und SWE2. Was es damit auf sich hat und wie Du diese Transaktionen am besten nutzt, erfährst Du in diesem Artikel.
SWEC – Ereignisse zum Änderungsbeleg
Mit der Transaktion SWEC ist es möglich, einen Workflow zu starten bzw. ein bestimmtes Ereignis zu starten, wenn ein sogenannter Änderungsbeleg für ein SAP-Objekt erzeugt wird. Dadurch werden Änderungen an den Daten festgehalten.
Um einen neuen Eintrag zu erstellen, klickt man auf den Button „Neue Einträge“ und gibt die notwendigen Informationen ein. Bei der Objektkategorie kann man sowohl ein BOR-Objekt als auch eine ABAP-Klasse angeben. Zudem hinaus kann man angeben, zu welchem Zeitpunkt genau das Ereignis ausgelöst werden soll: Anlegen, Ändern oder Löschen.
In der Übersicht in der Transaktion SWEC kann man in der Dialogstruktur links im Menüpunkt „Feldrestriktionen“ sogar angeben bei welchen Änderungen von Feldern genau das Ereignis ausgelöst werden soll.
SWE2 – Ereignistypkopplung
Eine der zentralen Transaktionen für die notwendigen Voraussetzungen und Einstellungen für einen funktionierenden Workflow ist SWE2 – Ereignistypkopplungen. In dieser Transaktion wird für ein Ereignis eine Kopplung zugeordnet. Eine Kopplung meint in diesem Zusammenhang die Funktion, die aufgerufen wird, wenn das Ereignis ausgelöst wird.
Durch Ereignistypkopplungen können Workflows gestartet werden. Sowohl für BOR-Objekttypen als auch ABAP-Klassen kann man einen Verbraucher-Funktionsbaustein bzw. eine Klasse/eine Methode hinterlegen, die ausgeführt werden soll, wenn ein bestimmtes Ereignis ausgelöst wird. Typischerweise werden Workflows gestartet, wenn ein SAP-Beleg erzeugt wird. Aber es gibt durchaus Anwendungsfälle, in denen ein Workflow Sinn macht, wenn das SAP-Objekt geändert oder gelöscht wird.
Gerade, wenn grundlegend ein Workflow nicht startet, sollte man in den beiden Transaktionen SWEC und SWE2 für den Objekttyp einmal prüfen, ob hier gültige Einträge vorhanden sind.
Man kann mithilfe der Transaktionen SWU0 oder SWUE einmal in seiner ABAP-Programmierungen einen Breakpoint setzen und prüfen, ob der Verbraucher-Funktionsbaustein oder die Klassenmethode ausgeführt wird und somit das Ereignis gestartet wird.
Nach der Ausführung bzw. Simulation in der Transaktion SWU0 erhält man auch sofort das Ergebnis und sieht, ob der Verbrauchertyp erfolgreich gestartet ist.
Sehr nützlich ist es, sich den Ereignis-Container per E-Mail übergeben zu lassen. Hierzu legt man in der Transaktion SWE2 einen weiteren Eintrag mit dem gleichen Objekttyp und Ereignis an, das man untersuchen möchte. Zusätzlich trägt man unter „Verbrauchertyp“ seinen SAP-Benutzer ein und unter Verbraucher-Funktionsbaustein SWE_EVENT_MAIL.
SWELS – Ereignis-Trace ein-/ausschalten
Um die Folgen und Auswirkungen einer Ereigniskopplung genauer analysieren zu können, eignet sich der sogenannte Ereignis-Trace in der Transaktion SWELS sehr gut.
Wenn die Ereigniskopplung deaktiviert wird, ist häufig eine falsche Übergabe von Daten vom Ereignis an den Ereignisverbraucher bzw. das Workflow-Muster die Ursache. Wenn man den Eingang zum Zeitpunkt der Deaktivierung überprüft, findet man schnell die Ursache.
Um die Ursache noch weiter eingrenzen zu können, eignet sich der Ereignis-Trace hervorragend. Hierzu schaltet man als Erstes den Ereignis-Trace in der Transaktion SWELS ein bzw. überprüft, ob er bereits eingeschaltet ist.
Anschließend führt man seine Tätigkeit aus, um das Ereignis gemäß der Ereigniskopplung ausführen zu lassen. Nach der Ausführung kann man einfach in der Transaktion SWELS auf den Button „Ausschalten“ klicken, um den Ereignis-Trace auszuschalten. Nun wurden die Schritte aufgezeichnet und können in der Transaktion SWEL angezeigt werden.
SWEL – Ereignis-Trace anzeigen
In der Transaktion SWEL kann man letztlich den Ereignis-Trace anzeigen lassen. Durch Doppelklick auf die gewünschte Zeile kann man in der Detailansicht schließlich die Nachricht erkennen. Wenn die Verbrauchermethode gut implementiert ist, wird hier ausreichend geloggt, sodass die Ursache des Fehlers schnell und einfach identifiziert werden kann.
Über den Autor
Mein Name ist Andreas Geiger und ich bin ein erfahrener Senior SAP Berater. Mit mehr als 10 Jahren Berufserfahrung habe ich mehrere SAP-Projekte erfolgreich abgeschlossen und umfangreiche Kenntnisse in verschiedenen Bereichen wie SAP FI, SAP MM und ABAP erworben. Nun möchte ich mein Wissen mit Dir teilen, um Dir einen Mehrwert zu bieten und Dich bei Deiner täglichen Arbeit mit dem SAP-System zu unterstützen.
ERP UP unterstützen
Wenn Du mit ERP UP zufrieden bist, kannst Du mich gerne unterstützen. Dabei gibt es unzählige Möglichkeiten, wie Du mich einfach und schnell unterstützen kannst. Wie Du genau ERP UP unterstützen kannst, erfährst Du hier. Vielen Dank.
Gut erklärt, Danke 🙂