Verbuchungsprozess mit Hilfe von Workprozessen

In der CLIENT-Server Architektur von SAP (Präsentationsserver (SAP GUI) – Applikationsserver (SAP NetWeaver Application Server) werden Anfragen über einen Dispatcher gesammelt und zur Abarbeitung an entsprechende Workprozesse übergeben, sodass zeitaufwendigen Datenbankänderungen nicht zu Überlastungen führen. Hierzu gibt es folgende Workprozesstypen:

Dialog – zur Ausführung von Dialogprogrammen

Verbuchung (Update, Upd2) – zur asynchronen Datenbankänderung

Hintergrund (Batch) – zur Ausführung von Hintergrundjobs

Enqueue – zur Ausführung von Sperroperationen

Spool – zur Druckaufbereitung

In der Tansaktion SM50 können die bereitgestellten Workprozesse und deren Status eingesehen werden. Jedem Dialoganwender wird hierbei ein eigener Workprozess zugeordnet. Einem ABAP-Programm ist jeweils für die Dauer eines Dialogschritts ebenfalls ein Workprozess zugeordnet.

Ob und wie das Verbuchungssystem genutzt wird, entscheidet der Anwendungsprogrammierer bei der Entwicklung des ABAP Programmes.  Zeitaufwendigen Datenbankänderungen sollten mit den speziellen Verbuchungs-Workprozessen Typ UPD durchgeführt werden. Diese werden dann asynchron (normalerweise mit nur kurzer Verzögerung) durchgeführt. Beim Programmieren mit der SAP-Verbuchung ist darauf zu achten, nur insert-, update- und delete-Instruktionen in der Verbuchung durchzuführen. Ein weiterer Vorteil bei der Verwendung liegt darin, dass fehlerhafte Verbuchungsabläufe in der Transaktion SM13 protokolliert werden und ggf. neu ausgeführt werden können. Die fehlerhaften Verbuchungsabläufe werden i.d.R. regelmäßig vom jeweiligen SAP Team überwacht.

Im Rahmen von ABAP Programmen müssen somit die Tabellenänderungensbefehle insert-, update- und delete von Funktionen ausgeführt werden, denen die Ablaufart „Verbuchungsbaustein“ zugeordnet wurde, sodass diese dann vom oben genannten Workprozess verarbeitet werden.

Im Quellcode der Funktion findet die Tabellenänderung statt.

Als Importparameter wird eine Workarea übergeben

Hier der Aufruf und die Übergabe des Importparameters der Funktion im entsprechenden Programm.

Sofern es zu fehlerhaften Verarbeitungen der Funktionen gekommen ist, können diese nach Programmablauf in der Transaktion SM13 eingesehen werden.

Hier wurde für einen Testfall ein Testfall ein falscher Objekttyp als Importparameter übergeben.

This entry was posted in ABAP.