Beispiel: Transaktionsmodell für BAPIs (ohne Commit) 

Verwendung

Um die Auswirkung des Transaktionsmodells auf die Entwicklung eines BAPIs zu veranschaulichen, wird im folgenden der Fall betrachtet, in dem ein externes Programm BAPIs aufruft, um im R/3-System Daten zu verändern. Es könnte sich hier beispielsweise um eine mit Visual Basic implementierte Transaktion handeln. Dabei sollen ausschließlich Daten aus dem R/3-System verändert werden.

Zwischen dem Anmelden und dem Abmelden des externen Programms bleibt die RFC-Verbindung mit dem R/3-System bestehen, um den Ressourcen-Verbrauch zu vermeiden, der bei wiederholtem Öffnen und Schließen der RFC-Verbindung anfällt. Ein RFC-Aufruf bei geöffneter RFC-Verbindung benötigt nicht wesentlich mehr Ressourcen als der direkte Aufruf des Funktionsbausteines innerhalb des R/3-Systems.

Im einzelnen besteht der Ablauf eines Programms im Rahmen des Transaktionsmodells aus folgenden Schritten (siehe auch nachstehende Grafik):

Anmelden

       (Programmcode)

   Aufruf eines BAPIs

       Programmcode)

   Aufruf eines BAPIs

       (Programmcode)

   Aufruf des BAPIs BapiService.TransactionCommit()

       (Programmcode)

   Aufruf eines BAPIs

       (Programmcode)

   Aufruf eines BAPIs

       (Programmcode)

    Aufruf des BAPIs BapiService.TransactionCommit()

       (Programmcode)

Abmelden

Transaktionsmodell für BAPIs ohne Commit