WebSphere Message Broker Version 8.0.0.5 Betriebssysteme: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Sehen Sie sich die Informationen zur aktuellen Produktversion im IBM Integration Bus Version 9.0 an.

BAPI-Eingangszenarios

In SAP-Systemen können Sie Funktionen in anderen Anwendungen oder SAP-Systemen aufrufen, die bei SAP als RFC-Server (Server für ferne Funktionsaufrufe) registriert sind. In WebSphere Message Broker können Sie den SAP-Adapter bei SAP als RFC-Server registrieren, der dann sowohl synchrone als auch asynchrone Aufrufe von SAP empfangen kann.

SAP in ein System mit einer synchronen Schnittstelle integrieren

In SAP ist eine BAPI-Schnittstelle ein Funktionsaufruf. Wenn ein System als RFC-Server mit SAP verbunden ist, können Sie die BAPI-Schnittstelle zur Definition der Schnittstelle verwenden, über die ein in SAP ausgeführtes Programm ein externes System aufrufen kann. Das externe System wird in SAP durch seinen RFCDestination-Wert identifiziert, der einer Programm-ID der SAP-Verwaltung zugeordnet ist. Die Programm-ID wird vom externen System angegeben, wenn es zum ersten Mal eine Verbindung mit SAP herstellt.

Über den WebSphere Adapter für SAP können Nachrichtenflüsse eine Verbindung zu SAP in der Funktion eines RFC-Servers herstellen. Hierfür wird der Adapter mit der entsprechenden Programm-ID konfiguriert und der Nachrichtenfluss wird auf dem Broker implementiert. Nach der Implementierung kann der Nachrichtenfluss über die BAPI-Schnittstelle synchrone Funktionsaufrufe empfangen.

Die Antwort-ID

Die BAPI-Importparameter werden vom Adapter empfangen und von einem SAPInput-Knoten als Nachrichtenbaumstruktur weitergeleitet. Die BAPI-Exportparameter werden als Nachrichtenbaumstruktur an einen SAPReply-Knoten weitergegeben. Der Adapter sendet die Exportparameter dann zurück an das aufrufende SAP-Programm. In diesem Fall befindet sich der SAPReply-Knoten in der Regel im gleichen Nachrichtenfluss wie der SAPInput-Knoten. Der SAPInput-Knoten stellt jedem BAPI-Aufruf eine eindeutige ID (die Antwort-ID) bereit. Die Antwort-ID wird an den SAPReply-Knoten (in der lokalen Umgebung) weitergegeben, damit dieser angeben kann, welcher BAPI-Aufruf beantwortet wird.

Wenn in der lokalen Umgebung keine Antwort-ID vorhanden ist, verwendet der SAPReply-Knoten automatisch die Antwort-ID des SAPInput-Knotens, durch den die aktuelle Ausführung des Nachrichtenflusses ausgelöst wurde. Wenn der Fluss nicht von einem SAPInput-Knoten ausgelöst wird oder es innerhalb des Flusses zu einer Unterbrechung kommt, wird ein Fehler ausgegeben. Eine nicht behandelte Ausnahme innerhalb des Nachrichtenflusses führt in SAP zu einem Systemfehler.

Selbst wenn die BAPI keine Ausgabeparameter erwartet, muss eine (leere) Nachricht an den SAPReply-Knoten geleitet werden.

Sie können zwei Aufrufe von SAP gleichzeitig verarbeiten, indem Sie für den Nachrichtenfluss eine weitere Instanz konfigurieren.

Szenario 1

Das folgende Diagramm zeigt einen Nachrichtenfluss, in dem WebSphere Message Broker eine Verknüpfung zwischen SAP und einer Zielanwendung bereitstellt (in diesem Fall DB2). Das SAP-Programm benötigt Antwortdaten und blockiert deswegen die weitere Verarbeitung bis zum Abschluss des Aufrufs.

Das Diagramm stellt die folgenden Schritte dar.
  1. Das SAP-Programm gibt einen BAPI-Aufruf an WebSphere Message Broker aus.
  2. WebSphere Message Broker konvertiert den Aufruf in einen SQL-Aufruf.
  3. WebSphere Message Broker leitet den Aufruf weiter zu DB2.
  4. DB2 verarbeitet die SQL und gibt das Ergebnis zurück an WebSphere Message Broker.
  5. WebSphere Message Broker konvertiert das SQL-Ergebnis in eine BAPI-Antwort und sendet die Antwort an SAP.
  6. Das SAP-Programm verarbeitet die nächste Codezeile.

Szenario 2

Auch das folgende Diagramm zeigt einen Nachrichtenfluss, in dem das SAP-Programm Antwortdaten benötigt. Hier erfolgen die Aufrufe zwischen WebSphere Message Broker und der Zielanwendung (in diesem Fall WebSphere MQ) jedoch asynchron. Auch hier blockiert das SAP-System die weitere Verarbeitung bis zum Abschluss des Aufrufs. Wenn der Wert der SAP-Eigenschaft Maximum client wait time (Maximale Clientwartezeit) nicht ausreicht oder die Eigenschaft auf 0 gesetzt ist, wird möglicherweise ein Zeitlimitfehler generiert. Weitere Informationen zur Eigenschaft Maximum client wait time des SAP-Empfangsknotens finden Sie im Abschnitt Maximale Clientwartezeit (Sekunden). Wenn Sie den SAPReply-Knoten in einem anderen Nachrichtenfluss als dem, der den SAPInput-Knoten enthält, verwenden, muss der SAPReply-Knoten in derselben Ausführungsgruppe wie der SAPInput-Knoten implementiert sein.

Das Diagramm stellt die folgenden Schritte dar.
  1. Das SAP-Programm gibt einen BAPI-Aufruf an WebSphere Message Broker aus.
  2. WebSphere Message Broker konvertiert die Importparameter in ein Nachrichtenformat, das von der Zielanwendung verstanden wird.
  3. WebSphere Message Broker reiht die betreffende Nachricht in eine Anforderungswarteschlange ein.
  4. Die Zielanwendung ruft die Anforderungsnachricht aus der Warteschlange ab, verarbeitet sie und reiht eine Antwortnachricht in die Warteschlange für Antwortnachrichten ein.
  5. WebSphere Message Broker erhält die Antwortnachricht aus der Warteschlange.
  6. WebSphere Message Broker konvertiert die Antwortnachricht in BAPI-Exportparameter und sendet die Antwort an SAP.

Szenario 3

Das folgende Diagramm zeigt einen asynchronen Aufruf von SAP an WebSphere Message Broker und einen asynchronen Aufruf von WebSphere Message Broker an eine Zielanwendung. Dieses Szenario zeigt, wie Sie die in diesem Abschnitt beschriebene Eingangsverarbeitung mit einer Ausgangsverarbeitung kombinieren können, um das gleiche Ergebnis wie in Szenario 1 und 2 zu erhalten. Weitere Informationen zur Ausgangsverarbeitung finden Sie im Abschnitt Verarbeitung abgehender Ereignisse für die BAPI-Schnittstelle.

Das Diagramm stellt die folgenden Schritte dar.
  1. Das SAP-Programm gibt einen BAPI-Aufruf an WebSphere Message Broker aus, speichert die relevanten Informationen in einer Datenbanktabelle und fährt mit der Verarbeitung der nächsten Codezeile fort.
  2. WebSphere Message Broker konvertiert die Importparameter in ein Nachrichtenformat, das von der Zielanwendung verstanden wird.
  3. WebSphere Message Broker reiht die betreffende Nachricht in eine Anforderungswarteschlange ein.
  4. Die Zielanwendung erhält die Anforderungsnachricht aus der Warteschlange und verarbeitet sie.
  5. WebSphere Message Broker erhält die Antwortnachricht aus der Warteschlange.
  6. Der SAPRequest-Knoten sendet die Nachricht an das SAP-Programm und fordert eine Aktualisierung in SAP an.
  7. Das SAP-Programm ruft die in der Datenbanktabelle gespeicherten Informationen ab und nimmt die angeforderte Aktualisierung vor.

Fehler und Warnungen

  • Wenn ein SAPReply-Knoten implementiert wird, in der betreffenden Ausführungsgruppe jedoch kein SAPInput-Knoten implementiert ist, wird eine Warnung in das Systemprotokoll oder die Windows-Ereignisanzeige geschrieben.
  • Wenn der SAPReply-Knoten eine Antwort-ID erhält, die keinem BAPI-Aufruf dieser Ausführungsgruppe entspricht, wird ein Fehler ausgegeben.
  • Wenn die gleiche Antwort-ID an zwei SAPReply-Knoten gesendet wird, erhält der zweite Knoten eine Fehlernachricht.
  • Wenn ein SAP-Programm versucht, eine BAPI aufzurufen, welche den RFCDestination-Wert des Brokers verwendet, diese BAPI jedoch für den betreffenden Adapter nicht erkannt wurde, wird in das Systemprotokoll oder die Windows-Ereignisanzeige ein Fehler geschrieben und an das aufrufende SAP-Programm wird eine Fehlernachricht zurückgesendet.
Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Letzte Aktualisierung:
        
        Letzte Aktualisierung: 2015-02-28 16:22:27


KonzeptthemaKonzeptthema | Version 8.0.0.5 | bc22020_