Wenn der SAP-Adapter in Verbindung mit der BAPI-Schnittstelle eingesetzt wird, müssen Sie beim Entwurf transaktionsorientierter Nachrichtenflüsse bestimmte Faktoren beachten.
Sie können Nachrichtenflüsse als transaktionsorientiert konfigurieren, so dass Aktualisierungen von Ressourcen, z. B. Datenbanken, koordiniert werden können, d. h., Änderungen werden innerhalb derselben Transaktion gemeinsam festgeschrieben oder zurückgesetzt. Diese transaktionsorientierte Koordination kann auf externe Systemaktualisierungen, z. B. SAP-Datenbanken, erweitert werden, wenn Sie die BAPI-Schnittstelle zusammen mit SAPRequest-Knoten verwenden.
Der SAP-Adapter kann so gesteuert werden, dass er wartet, bis SAP die Aktualisierungen synchron festschreibt, oder dass er einen Festschreibungsaufruf ausgibt und zurückkehrt, während die SAP-Festschreibung asynchron erfolgt. Sie können dieses Verhalten über den Parameter Vor dem Aufruf der BAPI-Commitoperation den WAIT-Parameter verwenden im Fenster Configure Objects (Objekte konfigurieren) des Adapterverbindungsassistenten festlegen. Der Adapter bestimmt abhängig von der Transaktionalitätseinstellung des Nachrichtenflusses, ob er den Festschreibungsaufruf ausgeben soll.
In früheren Releases von SAP waren einige BAPIs mit einer Festschreibung codiert. Seit SAP Release 4.0A ist es für BAPIs effektiver, einen separaten BAPI_TRANSACTION_COMMIT zur Durchsetzung der Aktualisierung auszugeben, statt geänderte Daten selbst festzuschreiben. Bei Verwendung dieser Methode können BAPI-Aufrufe erfolgen, bevor die Arbeit als stapelorientierte Arbeitseinheit festgeschrieben wird. In der Dokumentation für BAPI finden Sie Informationen darüber, ob eine Festschreibung codiert ist.
Wenn die Eigenschaft Transaktionsmodus für den SAPRequest-Knoten auf Ja gesetzt ist, wird der Adapter angewiesen, den SAP-Festschreibungsaufruf bei Fertigstellung des Nachrichtenflusses gemeinsam mit anderen Datenbankfestschreibungen auszugeben. Sie können den Parameter Vor dem Aufruf der BAPI-Commitoperation den WAIT-Parameter verwenden im Adapterverbindungsassistenten festlegen, der bestimmt, ob die Festschreibung synchron oder asynchron erfolgt.
Wenn die Eigenschaft Transaktionsmodus für den SAPRequest-Knoten auf Nein gesetzt ist, gibt der Adapter keinen SAP-Festschreibungsaufruf aus und der Parameter, den Sie im Adapterverbindungsassistenten festgelegt haben, hat keine Bedeutung. Der Festschreibungsaufruf kann jedoch weiterhin als Teil eines COMMIT-Verbs einer BAPI-Arbeitseinheit ausgegeben werden (im Assistenten angegebene Eigenschaft wird angewendet) oder ein Aufruf von BAPI_TRANSACTION_COMMIT sein (im Assistenten angegebene Eigenschaft wird nicht angewendet).
Wenn die BAPIs mit Festschreibungen codiert sind und Sie Transaktionsmodus auf Ja setzen, wird die BAPI als Teil derselben Transaktion wie die BAPIs von anderen SAPRequest-Knoten im selben Nachrichtenfluss aufgerufen, wobei derselbe Adapter verwendet wird. Deshalb werden BAPIs, die vorher in diesem Nachrichtenfluss aufgerufen wurden, festgeschrieben.
Wenn Sie Transaktionsmodus auf Nein setzen, wird die BAPI weder jetzt noch am Ende des Nachrichtenflusses festgeschrieben; es ist nicht garantiert, dass sie überhaupt festgeschrieben wird.