Wenn die Verarbeitung in separaten Nachrichtenflüssen stattfinden soll, müssen Sie die Eigenschaft Transaktionsmodus für einen SAPRequest-Knoten entsprechend festlegen.
Dieses Szenario ist eines von zwei Beispielen zur Veranschaulichung der Konzepte, die im Abschnitt BAPI-Transaktionsfestschreibung für SAP beschrieben werden (siehe auch Szenario 1: Geschäftspartner- und Beziehungsverarbeitung in einem einzigen Nachrichtenfluss).
BAPI_SALESORDER_CREATEFROMDAT2
BAPI_SALESORDER_GETSTATUS
Ein Benutzer fragt einen Auftrag ab, nachdem über eine
webbasierte Anwendung ein Kauf getätigt wurde.
Das Ergebnis der Abfrage ist eng verknüpft mit dem
asynchronen oder synchronen Verhalten der Schritte zur Auftragserstellung, die vom externen
SAP-Server ausgeführt werden. Im folgenden asynchronen Beispiel (dem Standardverhalten) schlägt die Abfrage möglicherweise fehl und der Benutzer erhält eine negative Rückmeldung für den erstellten Auftrag.
Nachrichtenfluss BAPI-Auftragserstellung | ||||
---|---|---|---|---|
A1. | Eine Anwendung löst den transaktionsorientierten Nachrichtenfluss aus, der einen Auftrag erstellt. | |||
A2. | Der SAPRequest-Knoten übergibt einen Aufruf zur Auftragserstellung und gibt die Registrierungsnummer des Auftrags zurück. Die Festschreibung erfolgt, wenn der Nachrichtenfluss beendet wird, da der Knoten an einer Transaktion auf Nachrichtenflussebene teilnimmt. | |||
A3. | Der MQReply-Knoten stellt eine MQ-Nachricht in die Ausgabewarteschlange für anstehende transaktionsorientierte Festschreibungen. | |||
A4. | Der Nachrichtenfluss wird abgeschlossen und der Broker beginnt mit der Festschreibung aller Ressourcen, die an diesem Nachrichtenfluss beteiligt waren, einschließlich SAP und dem Aufruf des MQReply-Knotens. Die Auftragsnummer ist für die Benutzeranwendung verfügbar. | |||
Die beiden folgenden Prozesse laufen gleichzeitig ab und treiben sich gegenseitig wirkungsvoll zur Fertigstellung. | ||||
Asynchrone Verarbeitung von SAP-Festschreibungen | Nachrichtenfluss BAPI-Auftragsstatusabfrage | |||
B1. | Die SAP-Festschreibung beginnt. | C1. | Eine Anforderung für eine Auftragsstatusabfrage wird gestellt. | |
B2. | Die SAP-Festschreibung wird abgeschlossen. | C2. | Der SAPRequest-Knoten fordert den Auftrag an. |
Im folgenden synchronen Beispiel ist die Abfrage erfolgreich und der Benutzer erhält eine positive Bestätigung für den erstellten Auftrag.
Nachrichtenfluss BAPI-Auftragserstellung | |
---|---|
1. | Eine Anwendung löst den transaktionsorientierten Nachrichtenfluss aus, der den Auftrag erstellt. |
2. | Der SAPRequest-Knoten übergibt einen Aufruf zur Auftragserstellung und gibt die Registrierungsnummer des Auftrags zurück. Die Festschreibung erfolgt, wenn der Nachrichtenfluss beendet wird, da der Knoten an einer Transaktion auf Nachrichtenflussebene teilnimmt. |
3. | Der MQReply-Knoten stellt eine MQ-Nachricht in die Ausgabewarteschlange für anstehende transaktionsorientierte Festschreibungen. |
4. | Der Nachrichtenfluss wird abgeschlossen und der Broker beginnt mit der Festschreibung aller Ressourcen, die an diesem Nachrichtenfluss beteiligt waren, einschließlich SAP. |
Synchrone Verarbeitung von SAP-Festschreibungen | |
5. | Die SAP-Festschreibung beginnt. |
6. | Die SAP-Festschreibung wird abgeschlossen. |
7. | Der Adapter gibt die Steuerung an den Broker zurück. |
8. | Der Aufruf des MQReply-Knotens wird festgeschrieben, sodass die Auftragsnummer für die Benutzeranwendung verfügbar ist. |
Nachrichtenfluss BAPI-Auftragsstatusabfrage | |
9. | Eine Anforderung für eine Auftragsstatusabfrage wird gestellt. |
10. | Der SAPRequest-Knoten fordert den Auftrag an. |
SAP hat die Auftragsfestschreibung abgeschlossen; daher ist die Auftragsabfrage erfolgreich.