SAP Connector
Verwendung
Der SAP Connector verbindet sich zu einem SAP-System und bietet folgende Kommunikationsarten mit dem SAP-System:
-
BAPIs/RFCs
Der SAP Connector kann BAPIs und RFCs im SAP aufrufen bzw. von BAPIs/RFCs aufgerufen werden.
-
IDocs
IDocs sind ASCII-Dokumente in einem XML-Format mit zusätzlichen Statusinformationen. Der SAP Connector nutzt IDocs, um Daten mit dem SAP System auszutauschen.
Voraussetzungen
-
Um die Kommunikation zwischen der INUBIT Process Engine und dem SAP-System zu ermöglichen, müssen Sie den SAP Java Connector (JCo) installieren.
Siehe SAP Java Connector - JCo - installieren. -
Der Benutzer, mit dem sich der SAP Connector via JCo mit dem SAP-System verbindet, muss auf dem SAP-System erstellt und eingerichtet sein.
-
Die Gateways zur Verbindung mit dem SAP-System sind als Netzwerk-Services in der Datei
/etc/services
(Linux) bzw.C:\Windows\System32\drivers\etc\services
(Windows) eingetragen. Je nach Gateway-Bezeichnung müssen die Einträge wie folgt heißen:-
sapgw00 3300/tcp
-
sapgw01 3301/tcp
-
SAP Java Connector - JCo - installieren
Voraussetzungen
-
Eine aktuelle Kompatibilitätsliste für den INUBIT und der passenden SAP Version finden Sie im Virtimo Support-Portal.
-
Sie benötigen einen Zugang für SAP Marketplace, um die Installationsdateien herunterzuladen.
-
In der Installationsbeschreibung von SAP wird darauf hingewiesen, dass ein JDK 8, 11 oder 17 benötigt wird.
So gehen Sie vor
-
Öffnen Sie einen Browser und laden Sie URL https://support.sap.com/en/product/connectors/jco.html.
-
Laden Sie die aktuelle Version 3.1 der folgenden Bibliotheken herunter und entpacken Sie diese:
-
SAP IDOC Class Library, z.B.
sapidoc3_3.1.x.zip
Enthält
sapidoc3.jar
-
SAP Java Connector (passend zu Ihrem Betriebssystem), z.B.
sapjco3-NTintel-3.1.x.zip
Enthält
-
sapjco3.jar
-
abhängig von Ihrer Auswahl z.B.
sapjco3.dll
(Windows) oderlibsapjco3.so
(Linux)
-
-
-
Kopieren Sie die Dateien
sapidoc3.jar
undsapjco3.jar
in das Verzeichnis<inubit-installdir>/inubit/server/process_engine/webapps/ibis/WEB-INF/lib
.Falls Sie eine Fehlermeldung erhalten, die auf das Fehlen der Middleware-Schicht hinweist, lesen Sie die SAP-Note 684106 (zu finden im SAP Marketplace) und wenden Sie die dort beschriebene Lösung an.
-
Abhängig von Ihrem Betriebssystem kopieren Sie die
*.dll/so
-Dateien in eines der folgenden Verzeichnisse:-
Windows:
-
Bei Start der INUBIT Process Engine über das Startmenü:
<inubit-installdir>/_jvm\bin
-
Bei Einsatz der INUBIT Process Engine als Dienst unter Tomcat:
<inubit-installdir>\server\process_engine\bin
-
-
Linux 64-Bit
<inubit-installdir>/_jvm/lib
Unter Umständen müssen Sie zusätzlich das Verzeichnis in die Umgebungsvariable
PATH
aufnehmen.
-
-
Starten Sie die INUBIT Process Engine neu.
Probleme mit JCO unter Windows
Das passende Microsoft Visual C++ Redistributable Paket muss installiert sein.
SAP Cryptographic Library für SNC installieren
Wenn Sie die sichere Netzwerkverbindung mit SNC (Secure Network Communication) bei RFC-Kommunikation einsetzen wollen, müssen Sie das SAP Cryptographic Library Installationspaket haben. Das Paket enthält:
-
die SAP Cryptographic Library (
sapcrypto.dll
für Microsoft Windows oderlibsapcrypto.<ext>
für UNIX), -
eine entsprechende Berechtigungs-Lizenz
-
und die Datei
sapgenpse.exe
für Microsoft Windows odersapgenpse
für UNIX zur Konfiguration.
Zur Konfiguration öffnen Sie die Datei `sapgenpse.exe `.
So gehen Sie vor
-
Legen Sie eine PSE (Personal Security Environment) und ein selbstsigniertes Public-Key-Zertifikat an.
-
Legen Sie die Credentials des Servers an.
-
Tauschen Sie PSE und Zertifikat mit dem Kommunikationspartner aus.
-
Nehmen Sie alle verbindungsspezifischen SNC-Konfigurationen vor und aktivieren Sie SNC.
Die genaue Konfigurationsanleitung siehe SAP Holfe.
Funktionsprinzip
Typ | Modus | Funktion | ||
---|---|---|---|---|
Input Connector (Listener) |
BAPI/RFC synchron |
Der SAP Connector wird von einer Funktion im SAP-System aufgerufen. Die Funktion wird vom SAP Connector und den nachfolgenden Modulen ausgeführt. Danach werden die Rückgabewerte in Form einer BAPI- konformen XML-Response an die aufrufende Funktion zurückgegeben. Zum Erstellen der XML-Response wird ein XSLT Converter Modul und darin der SAP Explorer verwendet. |
||
BAPI/RFC asynchron |
Der SAP Connector wird von einer Funktion im SAP-System aufgerufen. Die Funktion wird vom SAP Connector und den nachfolgenden Modulen ausgeführt. Die Verbindung wird direkt nach dem Aufruf beendet, daher können eventuell vorhandene Rückgabewerte des Workflows nicht an das SAP zurückgegeben werden. |
|||
IDoc |
Der SAP Connector wird vom SAP System aufgerufen und erhält von diesem ein IDoc; das IDoc wird von nachfolgenden Modulen im Workflow verarbeitet. |
|||
|
||||
Medium/Output Connector |
BAPI/RFC |
Der SAP Connector ruft eine Funktion auf dem SAP-System auf. Mit einem XSLT Converter Modul und dem SAP-Explorer wird der XML- Request erstellt, den das vom SAP Connector anzusprechende BAPI erwartet. Der XML-Request enthält den Namen der aufzurufenden Funktion sowie Parameter und Werte. Der XSLT Converter übergibt den XML-Request an den Connector, der SAP Connector ruft damit die Funktion auf dem SAP System auf, dann wird die Funktion dort ausgeführt. Das Ergebnis erhält der SAP Connector und gibt es an das nachfolgende Modul weiter. |
||
IDoc |
Der SAP Connector erhält als Eingangsnachricht ein oder mehrere IDocs. Der SAP Connector verbindet sich mit dem SAP System und sendet die IDocs. |
Wurde SAP-seitig eine Erweiterung an der Rückgabestruktur einer Funktion vorgenommen, so zeigt der SAP Explorer weiterhin die alte Struktur an. Um die Änderungen auf der INUBIT-Seite zu erhalten, ist ein Neustart erforderlich. |
XML-Request/Response für den SAP Connector erstellen
Wenn Sie den SAP Connector mit einer der Kommunikationsarten BAPI/RFC oder IDoc verwenden, benötigen Sie eine konforme XML-Response bzw. einen entsprechenden XML-Request. Zum Erstellen verwenden Sie einen XSLT Converter und den SAP Explorer.
Erzeugen und publizieren Sie zuerst den SAP Connector, damit dessen Verbindungsdaten zum SAP System automatisch übernommen werden können. Andernfalls müssen Sie die Verbindungsdaten manuell eingeben. |
So gehen Sie vor
-
Erzeugen Sie einen XSLT Converter.
-
Öffnen Sie das Modul im lokalen Arbeitsverzeichnis zum Bearbeiten. Das Register XSLT Converter wird angezeigt.
-
Klicken Sie im Bereich XML Zieldatei auf das Icon .
-
Wählen Sie Öffnen > SAP Explorer: Der folgende Dialog öffnet sich:
Über SAP Explorer: Der SAP Explorer wird zur Erstellung der XML-Anfrage verwendet, die vom BAPI erwartet wird und über den SAP Connector abgerufen werden kann.
SAP Explorer: Direkter Login
SAP Explorer: Gruppen-Login
-
Klicken Sie auf Weiter. Der folgende Dialog wird angezeigt:
Markieren Sie eine der Optionen.
-
Klicken Sie auf Weiter. Die folgenden Dialoge sind abhängig von der Art des ausgewählten Templates:
-
Bei Auswahl RFC/BAPI:
Dieser Dialog unterstützt Sie bei der Auswahl der Funktion, für die Sie einen Request bzw. eine Response benötigen.
Geben Sie den Funktionsnamen oder die Funktionsgruppe bzw. Teile davon ein. Sie können den Asterisk (*) als Wildcard verwenden. Klicken Sie auf Suchen, um eine Liste mit passenden Funktionen angezeigt zu bekommen.
Wenn Ihre Suche ein Ergebnis geliefert hat, markieren Sie in der Tabelle die Funktion, die Sie benutzen möchten.
Dann legen Sie fest, welche Art von XML-Template erzeugt werden soll:
-
Response: Wenn Sie den SAP Connector als synchronen Input Listener verwenden
-
Request: Beim Einsatz als Medium oder Output Connector
Klicken Sie auf Weiter. Fahren Sie fort mit Schritt 7.
-
-
Bei Auswahl IDoc:
Dieser Dialog unterstützt Sie bei der Auswahl des Nachrichtentyps, für den das Template erstellt wird.
Geben Sie den Namen des IDocs oder Teile davon ein. Sie können den Asterisk () als Wildcard verwenden. Klicken Sie auf *Suchen, um eine Liste mit passenden IDocs angezeigt zu bekommen.
Wenn Ihre Suche ein Ergebnis geliefert hat, markieren Sie in der Tabelle das IDoc, welches Sie benutzen möchten. Legen Sie dann fest, welche Art von XML-Template erzeugt werden soll: Single IDoc oder Multi IDoc.
Klicken Sie auf Fertigstellen. Der Dialog schließt sich und das Template wird im Bereich XML-Ziel angezeigt.
Fahren Sie fort mit Schritt 8.
-
-
Bei Auswahl BAPI öffnet sich der folgende Dialog:
Markieren Sie die Checkboxen der Parameter, die als Elemente in das XML-Template übernommen werden sollen. Wenn ein Parameter nicht im Template berücksichtigt werden soll, entfernen Sie die Markierung der Checkbox vor dem Parameter.
Geben Sie an, ob die Werte aus den Spalten neben den Funktionen/Parametern als Attribute in das XML-Template übernommen werden sollen.
Klicken Sie auf Fertig stellen. Der Dialog schließt sich und das Template wird im Bereich XML-Ziel angezeigt.
-
Für die weitere Bearbeitung des Requests bzw. der Response ziehen Sie den Wurzelknoten des Nachrichten- Templates aus dem Reiter Zielstruktur auf das XSLT-Element` xsl:template`.
Danach sieht das Stylesheet folgendermaßen aus:
-
Um die Parameter mit Werten zu belegen, geben Sie die Werte auf der linken Seite (XML-Quelle) ein. Beachten Sie dabei die Beschränkungen, die durch die Attribute vorgegeben sind (Typ/Länge).
→ Damit haben Sie ein Stylesheet erstellt, das eine konforme XML-Response bzw. einen entsprechenden XML-Request erzeugt.
Dialog SAP Connector Eigenschaften
Die Optionen in diesem Dialog sind abhängig vom Konnektortyp und dem Kommunikationsmodus.
Kommunikationsmodus
-
BAPI/RFC
Zur Kommunikation mit BAPIs und RFCs. Wenn Sie diese Kommunikationsart in Kombination mit einem Input Listener wählen, dann müssen Sie zusätzlich angeben, ob die Kommunikation synchron oder asynchron stattfinden soll (Option Modus).
-
IDoc
Zur Kommunikation über IDocs.
Der SAP Connector verarbeitet XML IDoc. Wenn Sie EDI-Nachrichten einlesen lassen möchten, müssen Sie diese erst mit einem EDI-XML Adapter nach XML konvertieren. Analog dazu können Sie die XML-IDoc-Ausgangsnachrichten des SAP Connectors mit einem XML-EDI Adapter nach EDI konvertieren.
System-Informationen
Es gibt zwei Login-Optionen: Direkter Login und Gruppen-Login. Für beiden Optionen gibt es separate Optionsfelder.
-
Direkter Login: Mit direktem Login kann der Benutzer direkt mit einem bestimmten SAP-Applikationssserver verbunden werden, indem er die Host- und Systemnummer angibt.
-
Hostname: Name des Rechners, auf dem Ihr SAP System läuft.
-
Systemnummer: Systemnummer (zweistellig).
Der Hostname und Systemnummer sind Pflichtfelder, die für direkten Login gefüllt werden müssen. Direkter Login ist die Standard-Login-Option.
-
-
Gruppen-Login: Durch den Gruppen-Login verbindet ein Nachrichten-Server die Benutzer mit den SAP-Servern, indem er den optimalen verfügbaren Server in der angegebenen Logon-Gruppe auswählt und die Last auf mehrere SAP-Applikationsserver verteilt.
-
Nachrichten-Server: Name des Servers, auf dem Ihr Server läuft. Seine Hauptfunktion ist der System-Lastenausgleich (wenn mehrere Dialoginstanzen konfiguriert werden).
-
Nachrichten-Server Port: Der Port, der den Nachrichten-Server verbindet.
-
Gruppe/Server: Der Benutzer kann seine gewünschte Gruppe oder seinen gewünschten Server auswählen.
-
System-ID: Gibt die Applikationsdetails an.
Der Nachrichten-Server, der Nachrichten-Server Port und die Gruppe/der Server sind Pflichtfelder, die für Gruppen-Login ausgefüllt werden müssen.
-
SAP Router, Kodierung, sichere Netzwerkverbindungen, Login-Informationen und Listener-Einstellungen können sowohl für den direkten Login als auch für den Gruppen-Login konfiguriert werden.
-
SAP Router
Geben Sie den/die Router zwischen der Process Engine und dem SAP-Server-Host im SAP-Connection-String-Format ein, z.B.:
/H/10.4.12.12/S/3299/H/192.168.1.10/S/3299
Nach
/H/
geben Sie die IP-Adresse ein, und nach/S/
geben Sie die Portnummer ein. -
Kodierung (nur bei Kommunikationsart BAPI/RFC): Geben Sie die Zeichenkodierung für die zu kommunizierenden Daten an.
-
Sichere Netzwerkverbindung:
Die sichere Netzwerkverbindung wird bei RFC-Kommunikation eingesetzt und sichert durch SNC (Secure Network Communication) den Datenstrom.
-
Aktivieren Sie die Checkbox Sichere Netzwerkverbindung.
-
Klicken Sie den Button SNC konfigurieren.
-
Tragen Sie in das Dialogfenster unter Name Ihre eigene PSE (Personal Security Environment) ein. Die PSE haben Sie bei der SNC-Konfiguration angelegt.
-
Tragen Sie in das Feld Partner die PSE Ihres Kommunikationspartners ein.
-
Wählen Sie ein Sicherheitslevel. Diese sind in der SAP Cryptographic Library vorkonfiguriert.
-
Tragen Sie den Bibliothekspfad der SAP Cryptographic Library ein.
-
Wenn die Checkbox SSO aktivieren aktiviert ist (Default), ist Single Sign-on aktiv. Deaktivieren Sie die Checkbox, um Single Sign-on zu deaktivieren.
Um SSO zu benutzen, muss der SNC-Nutzer mit einer existierenden Nutzer-ID im SAP-System verknüpft sein.
-
Das X.509-Zertifikat haben Sie bei der Erzeugung der PSE angelegt. Der Eintrag ist optional.
Bei der Verwendung als Input Connector muss das Feld "Partner" in den SNC Einstellungen gesetzt sein!
-
Login Informationen
Ab Version 2.1.6 des SAP Connectors wird bei dem Login (Benutzer/Passwort) Groß- und Kleinschreibung unterschieden! |
-
Client: Dreistellige Clientnummer.
-
Benutzer: Name des Benutzers, mit dem Sie Zugriff auf das SAP System haben.
-
Passwort: Zum Benutzernamen passendes Passwort.
-
Sprache: Sprache, in der die SAP-Systemdialoge angezeigt werden sollen, Eingabe als zweistellige Buchstabenfolge in Großschreibung, z.B. DE, EN oder FR. Angabe ist optional.
Listener-Einstellungen
(Nur bei Input Listener)
Die Gateway-Einstellungen sind notwendig, weil das SAP System nicht direkt, sondern über ein Gateway mit der INUBIT Process Engine kommuniziert:
-
Gateway Hostname
Name des Gateway-Servers.
-
Gateway Servicenummer
Da es mehrere Gateway-Hosts geben kann, sind diese nummeriert. Fragen Sie Ihren SAP-Administrator nach dieser Nummer, diese kann z.B. so aussehen sapgw00.
-
Programm-ID
Vor dem Erstellen eines Input Listener Connectors muss im SAP System eine RFC-Destination angelegt werden. Diese hat eine Programm-ID, die hier angegeben werden muss. Fragen Sie Ihren SAP-Administrator nach dieser Programm-ID.
Wenn die INUBIT Process Engine das Gateway nicht erreichen kann, versucht diese in 660-Sekunden-Intervallen, die Verbindung wieder herzustellen.
Sie können dieses Standardintervall in der SAP Connector-Eigenschaftentabelle ändern (Moduleigenschaft |
Modus
Synchron/Asynchron
(nur bei Einsatz als Input Listener und BAPI/RFC-Kommunikation):
Legen Sie fest, ob die Rückgabewerte an SAP zurückgegeben werden (synchron) oder nicht (asynchron).
Weitere Einstellungen
-
Transaktionshandling (nur bei BAPI/RFC als Medium/Output Connector):
-
Mit Transaktionshandling
Der SAP Connector setzt explizit ein Rollback bzw. Commit ab.
-
Ohne Transaktionshandling
Der SAP Connector setzt kein explizites Rollback bzw. Commit ab.
-
Aufruffehlerbehandlung:
-
Exception werfen: Bei einem Fehler wird eine Exception geworfen und die Ausführung des Workflows abgebrochen.
-
In den Ausgabestrom schreiben: Bei einem Fehler wird die Fehlermeldung als XML-Datei ausgegeben und die Ausführung des Workflows fortgesetzt. Die Fehlermeldung kann von einem nachfolgenden Modul behandelt werden.
Multi IDoc Verarbeitung
(nur bei Kommunikationsart IDoc)
Aktivieren Sie diese Option, wenn bei der Ausführung eines Workflows mehr als ein IDoc verarbeitet werden soll. Normalerweise wird in einem Workflow genau ein IDoc verarbeitet. Dazu wird über den SAP Connector eine Verbindung zum SAP System aufgebaut, die Nachricht wird verschickt und die Verbindung geschlossen. Wenn man sehr viele IDocs in kurzer Zeit verarbeiten möchte, ist es sinnvoll, die Verbindung zum SAP System aufzubauen und alle Nachrichten auf einmal zu senden.
Die zu sendenden IDocs müssen zu einer Nachricht zusammengefügt sein (Multi IDoc), der Beginn jedes IDoc muss durch ein XML-Element eindeutig gekennzeichnet sein. Das SAP Connector Modul trennt das Multi IDoc am Trennelement und schickt die einzelnen IDocs nacheinander über denselben Verbindungsaufbau.
XML IDoc Trennelement
Geben Sie das XML-Element (inkl.
Pfad) ein, welches den Beginn einer IDoc-Nachricht signalisiert.
Die Trennung erfolgt inkl.
Trennelement, d.h. aus einer XML-Struktur /Root/ADRMAS02/IDOC
und dem Trennelement /Root/ADRMAS02
wird ein IDoc mit der Struktur /ADRMAS02/IDOC.
Connection Pool
(nur bei Verwendung als Medium/Output Connector, unabhängig von Kommunikationsart)
-
Max. Anzahl von Verbindungen
Max. Anzahl von Verbindungen im Connection Pool. Beachten Sie die OSS Notes 314530 und 316877 zum Einrichten externer Verbindungen im SAP System und/oder SAP Gateway.
-
Max. Verbindungswartezeit
Legt die max. Wartezeit auf eine verfügbare Verbindung fest (in Millisekunden). Wenn nach der angegebenen Zeit keine Verbindung verfügbar ist, wird eine JCo-Exception mit dem Key JCO_ERROR_RESSOURCE geworfen. Standard sind 30000 Millisekunden (30 Sekunden).
-
Verbindungs-Timeout
Dieses Timeout betrifft nur pooled connections, Verbindungen, die im Connection Pool freigegeben sind und zur Wiederverwendung offen gehalten werden. Es betrifft keine Verbindungen, die aktuell verwendet werden. Eine pooled connection wird geschlossen, wenn sie nach Ablauf der angegebenen Zeit nicht aktiviert wurde. Angabe in Millisekunden, Standard sind 600000 Millisekunden (10 Min.).
Verbindungstest
-
Verbindung testen
Zum Testen, ob die Verbindung mit Ihren Angaben erfolgreich aufgebaut werden kann.
Metadaten-Cache
-
Aktualisieren
Zum Aktualisieren des Metadaten-Cache (inklusive aller BAPI- und IDoc-Strukturen).
Wird der Metadaten-Cache aktualisiert, sind alle SAP-Systemkonnektoren betroffen, die das gleiche Gateway verwenden.