SAP ERP
Mit dem SAP ERP-Connector können Sie Vorgänge zum Einfügen, Löschen, Aktualisieren und Lesen von SAP ERP-Daten ausführen.
Unterstützte Versionen
Der SAP ERP-Connector kann mit SAP R/3-Systemen über die folgenden Methoden kommunizieren:
- Business Application Programming Interface (BAPIs)
- Remotefunktionsaufrufe (RFCs)
- SAP-Tabellen
- SAP-Abfragen
- IDoc-Nachrichten
- SAP ECC
- SAP ERP
- SAP R/3
- On-Premise-Bereitstellung von SAP S/4HANA
- SAP JCo-Version.
Für diesen Connector müssen beim Erstellen der Verbindung zwei JCo-Dateien angegeben werden:
sapjco3.jar
undlibsapjco3.so
(für Unix). Sie können die JCo-Version 3.1.5 von der SAP-Connectors-Website herunterladen.
Wenn das SAP-System eine RFC-Verbindung unterstützt und die erforderlichen RFCs verfügbar sind, funktioniert die Verbindung zum SAP-System. Möglicherweise werden auch andere Versionen unterstützt, die RFC-Verbindungen unterstützen.
SAP-Tabellen:SAP-Tabellen werden automatisch als Ansichten über die Verbindungseigenschaft „TableMode“ bereitgestellt. Geben Sie die SAP-Tabellen an, mit denen Sie arbeiten möchten, indem Sie die Verbindungseigenschaft „Views“ verwenden. Dadurch wird „TableMode“ überschrieben. SAP rät davon ab, die Tabellen direkt zu ändern. Stattdessen wird empfohlen, BAPIs zum Ändern von Tabellendaten zu verwenden. Die direkte Änderung von SAP-Tabellen wird nicht unterstützt.
BAPIs und RFCs:BAPIs und RFCs werden direkt als gespeicherte Prozeduren bereitgestellt. Standardmäßig werden alle RFCs, die mit dem Keyword BAPI beginnen, als verfügbare gespeicherte Prozedur angezeigt.
IDoc:IDoc-Dateien (Intermediate Document) sind SAP-Objekte, die Daten zu Geschäftsvorgängen in Form einer elektronischen Nachricht von einem System in ein anderes übertragen. Mit IDocs werden Daten über EDI-Systeme (Electronic Data Interchange) von SAP- zu Nicht-SAP-Systemen übertragen.
Weitere Informationen zu diesen Begriffen finden Sie im SAP-Glossar.
Hinweise
Führen Sie vor der Verwendung des SAP ERP-Connectors die folgenden Aufgaben aus:
- In Ihrem Google Cloud-Projekt:
- Prüfen Sie, ob eine Netzwerkverbindung eingerichtet ist. Informationen zu Netzwerkmustern finden Sie unter Netzwerkkonnektivität.
- Weisen Sie dem Nutzer, der den Connector konfiguriert, die IAM-Rolle roles/connectors.admin zu.
- Weisen Sie dem Dienstkonto, das Sie für den Connector verwenden möchten, die folgenden IAM-Rollen zu:
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
roles/storage.objectViewer
Ein Dienstkonto ist eine spezielle Art von Google-Konto, das einen nicht menschlichen Nutzer repräsentiert. Es muss authentifiziert und autorisiert werden, um Zugriff auf Daten in Google APIs zu erhalten. Wenn Sie kein Dienstkonto haben, müssen Sie eins erstellen. Weitere Informationen finden Sie unter Dienstkonto erstellen.
- Aktivieren Sie die folgenden Dienste:
secretmanager.googleapis.com
(Secret Manager API)connectors.googleapis.com
(Connectors API)
Informationen zum Aktivieren von Diensten finden Sie unter Dienste aktivieren.
Wenn diese Dienste oder Berechtigungen für Ihr Projekt zuvor nicht aktiviert wurden, werden Sie aufgefordert, sie beim Konfigurieren des Connectors zu aktivieren.
Wenn Sie das Abonnieren von Ereignissen aktivieren, müssen Sie das ABAP SDK konfigurieren. Informationen zum Konfigurieren des ABAP SDK finden Sie unter ABAP SDK for Google Cloud – Übersicht.
-
Sie müssen einen bestimmten Bucket erstellen und die folgenden Objekt-IDs hochladen, die Sie aus dem SAP ERP-Portal heruntergeladen haben:
- Cloud Storage-Pfad der JCo-JAR-Datei: Der Cloud Storage-Pfad der JAR-Datei des Java-Connectors (JCo).
- Cloud Storage-Pfad für „libsapjco3“: Der Cloud Storage-Pfad der JAR-Datei „libsapjco3“.
Connector konfigurieren
Eine Verbindung ist für eine Datenquelle spezifisch. Wenn Sie also viele Datenquellen haben, müssen Sie für jede Datenquelle eine separate Verbindung erstellen. So erstellen Sie eine Verbindung:
- Rufen Sie in der Cloud Console die Seite Integration Connectors > Verbindungen auf und wählen Sie ein Google Cloud-Projekt aus oder erstellen Sie eines.
- Klicken Sie auf + NEU ERSTELLEN, um die Seite Verbindung erstellen zu öffnen.
-
Wählen Sie im Abschnitt Standort den Standort für die Verbindung aus.
- Region: Wählen Sie einen Standort aus der Drop-down-Liste aus.
Eine Liste aller unterstützten Regionen finden Sie unter Standorte.
- Klicken Sie auf Weiter.
- Region: Wählen Sie einen Standort aus der Drop-down-Liste aus.
- Führen Sie im Abschnitt Verbindungsdetails folgende Schritte aus:
- Connector: Wählen Sie SAP ERP aus der Drop-down-Liste der verfügbaren Connectors aus.
- Connector-Version: Wählen Sie die Connector-Version aus der Drop-down-Liste der verfügbaren Versionen aus.
- Geben Sie im Feld Verbindungsname einen Namen für die Verbindungsinstanz ein.
Verbindungsnamen müssen die folgenden Kriterien erfüllen:
- Verbindungsnamen können Buchstaben, Ziffern oder Bindestriche enthalten.
- Buchstaben müssen Kleinbuchstaben sein.
- Verbindungsnamen müssen mit einem Buchstaben beginnen und mit einem Buchstaben oder einer Ziffer enden.
- Verbindungsnamen dürfen maximal 49 Zeichen haben.
- Bei Connectors, die Ereignisabos unterstützen, dürfen die Verbindungsnamen nicht mit dem Präfix „goog“ beginnen.
- Geben Sie optional unter Beschreibung eine Beschreibung für die Verbindung ein.
- Optional können Sie Cloud Logging aktivieren und dann eine Logebene auswählen. Die Logebene ist standardmäßig auf
Error
festgelegt. - Dienstkonto: Wählen Sie ein Dienstkonto, das über die erforderlichen Rollen verfügt.
- Wenn Sie die Verbindung für Ereignisabos verwenden möchten, wählen Sie Ereignisabo aktivieren aus. Wenn Sie diese Option auswählen, werden die folgenden Optionen angezeigt:
- Ereignisabo mit Entität und Aktionen aktivieren: Wählen Sie diese Option aus, um die Verbindung sowohl für das Ereignisabo als auch für Connector-Vorgänge (Entitäten und Aktionen) zu verwenden.
- Nur Ereignisabo aktivieren: Wählen Sie diese Option aus, um die Verbindung nur für das Ereignisabo zu verwenden. Wenn Sie diese Option auswählen, klicken Sie auf Weiter und konfigurieren Sie dann das Ereignis-Abo.
- Client: Der Client, der sich am SAP-System authentifiziert.
- System-ID: Die System-ID oder der R3Name des SAP-Systems ist ein String mit maximal drei Zeichen. Sie wird häufig für den Lastenausgleich von Verbindungen verwendet.
- Systemnummer: Die Nummer, mit der das Zielsystem definiert wird. Wird beim Festlegen der Hostverbindungseigenschaft verwendet.
- Projekt-ID: Die ID des Google Cloud-Projekts, in dem sich der GCS-Bucket mit dem SAP JCo-JAR befindet.
- Bucket: Der Name des Buckets, der die Dateien „sapjco3.jar“ und „libsapjco3.so“ enthält.
- Cloud Storage-Pfad für JCo-JAR-Datei: Cloud Storage-Pfad der JCo-JAR-Datei.
- libsapjco3 Cloud Storage-Pfad: Cloud Storage-Pfad der JAR-Datei „libsapjco3“.
- Tabellenmodus: Wählen Sie die SAP-Tabelle aus, die als Ansicht angezeigt werden soll.
- Tabellenlesefunktion: Name der Funktion, die zum Lesen von Tabellen verwendet werden soll. Weitere Informationen finden Sie unter Benutzerdefinierte Funktion zum Lesen von Tabellen verwenden.
- System-ID: Die System-ID oder der R3Name des SAP-Systems. Sie können maximal drei Zeichen eingeben.
- Abfragemodus: Wählen Sie aus, welche SAP-Tabellen als Ansichten angezeigt werden müssen.
-
Durchsuchbare Ansichten: Geben Sie eine durch Kommas getrennte Liste der Ansichten ein, die angezeigt werden sollen.
Beispiel:
ViewA,ViewB,ViewC
. - Sprache: Legen Sie diese Eigenschaft auf die Sprache fest, die Sie bei der Anmeldung bei SAP angeben. Diese Eigenschaft ist ein ISO 639-1-Code für die Sprache, die vom SAP-System verwendet wird. Standardmäßig wird EN verwendet.
- Diensteinträge: Die Diensteinträge, die für die Verbindung verwendet werden sollen.
-
SNC-Modus: Wählen Sie diese Option aus, um SNC für die Authentifizierung zwischen Integration Connectors und Ihrem SAP-System zu aktivieren. Wenn Sie diese Option auswählen, geben Sie die folgenden Details an:
- SNC_LIB-Objekt-ID: Objekt-ID der SNC-Bibliothek.
- PSE-Name: Name der PSE-Datei (Personal Security Environment), die für den Bucket gilt. In einer PSE-Datei werden das öffentlich-private Schlüsselpaar sowie X.509-Zertifikate in einer ASN.1-Struktur gespeichert.
- SNC-Sicherheitscode: Wählen Sie das Secret Manager-Secret des SNC-Bibliothekssicherheitscodes aus.
- Secret-Version: Wählen Sie die Secret-Version aus.
- SNC-Name: Geben Sie einen Namen für die SNC-Verbindung ein.
-
SNC qop: Wählen Sie ein Schutzniveau aus. Folgende Ebenen werden unterstützt:
- 1 – Nur Authentifizierung anwenden.
- 2 – Integritätsschutz anwenden Dazu gehört auch der Schutz der Authentifizierung.
- 3. Datenschutz anwenden. Dazu gehören auch der Schutz der Integrität und die Authentifizierung.
- 8: Standardschutz anwenden.
- 9: Maximaler Schutz.
- SNC-Partnername: Geben Sie den SNC-Namen des Anwendungsservers ein.
-
Verbindungsschema: Geben Sie an, ob Sie eine Verbindung zu einem SAP-System mit einem Message-Server (Gruppenserver) oder einem Anwendungsserver herstellen. Informationen zu den Voraussetzungen, die Sie erfüllen müssen, um eine Verbindung zu einem SAP-System mit einem Message Server herzustellen, finden Sie unter Verbindungstyp „Message Server (Group Server)“.
Wenn Sie GroupServer auswählen, müssen Sie die folgenden Details angeben:
- Message Server: Geben Sie den Message Server an, wenn Sie eine Verbindung zu einem SAP-System herstellen, das Load-Balancing verwendet.
- Message Server Service: Der Message Server-Dienst, mit dem Sie eine Verbindung herstellen möchten.
- Gruppe: Die verwendete Anmeldegruppe. Sie müssen dies nur angeben, wenn Sie eine Verbindung zu einem SAP-System herstellen, das Load-Balancing verwendet.
Wenn Sie eine Verbindung zu einem SAP-System mit einem Message Server (Group Server) herstellen, müssen Sie die Hostadresse nicht im Abschnitt Ziele angeben.
- Konfigurieren Sie optional die Verbindungsknoteneinstellungen:
- Mindestanzahl von Knoten: Geben Sie die Mindestanzahl von Verbindungsknoten ein.
- Maximale Anzahl von Knoten: Geben Sie die maximale Anzahl von Verbindungsknoten ein.
Ein Knoten ist eine Einheit (oder ein Replikat) einer Verbindung, die Transaktionen verarbeitet. Zur Verarbeitung von mehr Transaktionen für eine Verbindung sind mehr Knoten erforderlich. Umgekehrt sind weniger Knoten erforderlich, um weniger Transaktionen zu verarbeiten. Informationen zu den Auswirkungen der Knoten auf Ihre Connector-Preise finden Sie unter Preise für Verbindungsknoten. Wenn Sie keine Werte eingeben, ist die Mindestanzahl von Knoten standardmäßig auf 2 (für eine bessere Verfügbarkeit) und die maximale Knotenzahl auf 50 gesetzt.
- Klicken Sie optional auf + LABEL HINZUFÜGEN, um der Verbindung ein Label in Form eines Schlüssel/Wert-Paars hinzuzufügen.
- Klicken Sie auf Weiter.
- Geben Sie im Abschnitt Ziele die Details zum Remote-Host (Backend-System) ein, zu dem Sie eine Verbindung herstellen möchten. Wenn Sie eine Verbindung zu einem SAP-System mit Message Server herstellen, müssen Sie die Hostadresse nicht angeben.
- Zieltyp: Wählen Sie einen Zieltyp aus.
- Wählen Sie in der Liste Hostadresse aus, um den Hostnamen oder die IP-Adresse des Ziels anzugeben.
- Wenn Sie eine private Verbindung zu Ihren Backend-Systemen herstellen möchten, wählen Sie in der Liste Endpunktanhang und dann den erforderlichen Endpunktanhang aus der Liste Endpunktanhang aus.
Wenn Sie eine öffentliche Verbindung zu Ihren Backend-Systemen mit zusätzlicher Sicherheit herstellen möchten, können Sie statische ausgehende IP-Adressen für Ihre Verbindungen konfigurieren und dann Ihre Firewallregeln so konfigurieren, dass nur die spezifischen statischen IP-Adressen auf die Zulassungsliste gesetzt werden.
Wenn Sie weitere Ziele eingeben möchten, klicken Sie auf + Ziel hinzufügen.
- Klicken Sie auf Weiter.
- Zieltyp: Wählen Sie einen Zieltyp aus.
-
Geben Sie im Abschnitt Authentifizierung die Authentifizierungsdetails ein.
- Wählen Sie einen Authentifizierungstyp aus und geben Sie die relevanten Details ein.
Die folgenden Authentifizierungstypen werden von der SAP ERP-Verbindung unterstützt:
- Authentifizierung mit X509-Zertifikat
- Nutzername und Passwort
- Klicken Sie auf Weiter.
Informationen zum Konfigurieren dieser Authentifizierungstypen finden Sie unter Authentifizierung konfigurieren.
- Wählen Sie einen Authentifizierungstyp aus und geben Sie die relevanten Details ein.
- Wenn Sie das Ereignisabo aktiviert haben, wird auf der Seite zum Erstellen der Verbindung der Abschnitt Details zum Ereignisabo angezeigt. Informationen zum Konfigurieren von Details zum Ereignisabo finden Sie unter Ereignisabo konfigurieren.
- Überprüfen: Prüfen Sie Ihre Verbindungs- und Authentifizierungsdetails.
- Klicken Sie auf Erstellen.
Authentifizierung konfigurieren
Geben Sie die Details basierend auf der zu verwendenden Authentifizierung ein.
-
Auf X509-Zertifikaten basierende Authentifizierung
- X509Certificate: Das X509-Zertifikat, das für die Anmeldung verwendet wird.
- Secret-Version: Wählen Sie die Secret-Version aus.
-
Nutzername und Passwort
- Nutzername: Nutzername für den Connector
- Passwort: Secret Manager-Secret mit dem Passwort, das mit dem Connector verknüpft ist.
Für Ereignisabo konfigurieren
Wenn Sie das Abonnieren von Ereignissen aktivieren, müssen Sie das ABAP SDK konfigurieren. Informationen zum Konfigurieren des ABAP SDK finden Sie unter ABAP SDK for Google Cloud – Übersicht.
Geben Sie im Abschnitt Details zum Ereignisabo die folgenden Werte ein:
-
Wählen Sie einen der folgenden Authentifizierungstypen für den Event-Listener aus.
- Google-Authentifizierung. Wenn Sie diese Option aktivieren, folgen Sie der Anleitung unter Mit JSON-Webtokens authentifizieren, um die Authentifizierung für das ABAP SDK zu konfigurieren. Außerdem muss das Dienstkonto die Rolle roles/connectors.listener haben, deren Zugriffstoken für die Authentifizierung verwendet wird.
- Authentifizierung von API-Schlüsseln Wenn Sie diese Option auswählen, müssen Sie einen API-Schlüssel erstellt und als Secret Manager-Secret gespeichert haben. Weitere Informationen finden Sie unter API-Schlüssel erstellen.
-
Geben Sie den Feldnamen für den Ereignistyp ein. In diesem Feld wird der Typ des Ereignisses angegeben, das mit der eingehenden Ereignisanfrage verknüpft ist.
{ "event_type": "user.created", ... // other request fields ... }
- Wählen Sie Private Verbindung aktivieren aus, um eine sichere Verbindung zwischen Ihrer Backend-Anwendung und Ihrer Verbindung herzustellen. Wenn Sie diese Option auswählen, müssen Sie nach dem Erstellen der Verbindung zusätzliche Konfigurationsschritte ausführen. Weitere Informationen finden Sie unter Private Verbindung für Ereignisabos.
- Geben Sie die Konfiguration für unzustellbare Nachrichten ein. Wenn Sie ein Thema für fehlgeschlagene Nachrichten konfigurieren, schreibt die Verbindung die nicht verarbeiteten Ereignisse in das angegebene Pub/Sub-Thema. Geben Sie die folgenden Informationen ein:
- Projekt-ID für Unzustellbarkeitsnachrichten : Die Google Cloud-Projekt-ID, in der Sie das Pub/Sub-Thema für Unzustellbarkeitsnachrichten konfiguriert haben.
- Thema für unzustellbare Nachrichten : Das Pub/Sub-Thema, in das Sie die Details des nicht verarbeiteten Ereignisses schreiben möchten.
Beispiele für Verbindungskonfigurationen
In den folgenden Abschnitten sind die Beispielwerte für die verschiedenen Felder beim Erstellen der SAP ERP-Verbindung sowie die für die verschiedenen Verbindungstypen erforderlichen Parameter aufgeführt.
Verbindung zu einem verteilten SAP-System herstellen
Wenn Sie eine Verbindung zu einem verteilten SAP-System herstellen, z. B. einem System mit Lastenausgleich, müssen Sie die folgenden zusätzlichen Verbindungseigenschaften angeben. Ein Administrator kann diese Verbindungseigenschaften im SAP-System auf dem Tab „Verbindung“ des Dialogfelds „Systemeintragseigenschaften“ abrufen.
- System-ID: Geben Sie den Wert an, den Sie über die SystemId-Eigenschaft erhalten haben. Die System-ID ist die System-ID/der R3Name des SAP-Systems. Die System-ID ist ein String mit maximal drei Zeichen.
- Message Server: Wenn Sie eine Verbindung zu einem SAP-System herstellen, das Load-Balancing verwendet, müssen Sie das Feld „Message Server“ angeben. Legen Sie diese Eigenschaft auf den Wert fest, den Sie aus der MessageServer-Eigenschaft im SAP-System erhalten haben. Stellen Sie dem Wert des Felds „Message Server“ den Wert des Felds „SAProuter“ voran.
- Gruppe: Legen Sie diese Eigenschaft auf den Wert fest, den Sie aus der Eigenschaft „Gruppe/Server“ erhalten haben. Die Group-Eigenschaft gibt die verwendete Anmeldegruppe an. Der Standardwert ist PUBLIC.
Verbindung zu einem benutzerdefinierten Anwendungsserver herstellen
Wenn Sie eine Verbindung zu einem SAP-System mit einem dedizierten Anwendungsserver oder einem benutzerdefinierten Anwendungsserver herstellen, müssen Sie die folgenden zusätzlichen Verbindungseigenschaften angeben. Ein Administrator kann diese Verbindungseigenschaften aus dem SAP-System abrufen.
- System-ID: Geben Sie den Wert an, den Sie über die SystemId-Eigenschaft erhalten haben. Dies ist die System-ID oder der R3Name des SAP-Systems. Die System-ID ist ein String mit maximal drei Zeichen.
- Host: Geben Sie den Wert an, den Sie vom Anwendungsserver erhalten haben.
Gibt den Hostnamen des Zielsystems an. Dieser Wert kann ein regulärer Hostname, eine IP-Adresse oder eine SAP-Router-Adresse sein.
- Systemnummer: Geben Sie den Wert an, den Sie über die Eigenschaft „SystemNumber“ erhalten haben.
Die Eigenschaft „SystemNumber“ definiert das Zielsystem.
Sichere Netzwerkverbindungen konfigurieren
Wenn der Administrator die Secure Network Communication (SNC) konfiguriert hat, müssen Sie die folgenden zusätzlichen Eigenschaften festlegen. Im SAP-System können Sie die folgenden SNC-Verbindungsstring-Attribute auf dem Tab „Netzwerk“ des Dialogfelds „Systemeintragseigenschaften“ abrufen.
- SNC-Modus: Wenn das Kästchen „Sichere Netzwerkverbindungen aktivieren“ in SAP aktiviert ist, legen Sie die Verbindungseigenschaft „SNC-Modus“ auf „True“ fest. Andernfalls legen Sie das Verbindungsattribut „SNC Mode“ auf „False“ fest.
Die Verbindungseigenschaft „SNCMode“ ist ein boolescher Wert, der angibt, ob Sie SNC verwenden. Der Standardwert ist "False".
- SNC PartnerName: Der SNC PartnerName gibt den SNC-Namen des Anwendungsservers an. Beispiel: p:CN=IDS, OU=IT, O=CSW, C=DE
- SNC-Name: Optional. Das Attribut „SNCName“ gibt den Namen der SNC-Verbindung an. Legen Sie diese Property fest, um sicherzustellen, dass der richtige SNC-Name für die Verbindung verwendet wird.
- SNC Qop: Legen Sie diese Eigenschaft auf die ausgewählte Option im Bereich „Secure Network Settings“ (Sichere Netzwerkeinstellungen) fest. Wenn beispielsweise die Option „Integrität“ ausgewählt ist, legen Sie die SNCQop-Property auf „3“ fest.
Mit der Eigenschaft „SNCQop“ wird das Niveau (oder die Qualität) des Datenschutzes angegeben. Wenn diese Property nicht angegeben ist, wird für sie die Ganzzahl -1 festgelegt. Gültige Werte sind 1, 2, 3, 8 oder 9, die den Schutzstufen entsprechen.
- SNC_Lib-Objekt-ID: Legen Sie diese Eigenschaft auf den Pfad und Dateinamen Ihrer SNC-Bibliothek fest. Geben Sie den vollständigen Pfad zur verwendeten Sicherheitsbibliothek an, z. B.
C:\Secude\secude.xll.
.
Verbindungstyp des Anwendungsservers
Für die Verbindung zum Anwendungsserver müssen Private Service Connect und Load Balancer mit der SAP-System-IP und dem Port 33XX in der Netzwerk-Endpunktgruppe (NEG) und der Systemdiagnose konfiguriert werden. Dabei ist XX die System- oder Instanznummer des verwendeten SAP-Systems. In der folgenden Tabelle sind die Beispielkonfigurationswerte für den Verbindungstyp ApplicationServer
aufgeführt. Welche Felder optional und welche Pflichtfelder sind, können Sie der Benutzeroberfläche zum Erstellen von Verbindungen in der Konsole entnehmen.
Feldname | Beispielwert |
---|---|
Region | us-central1 |
Connector | SAP ERP |
Connector-Version | 1 |
Connector-Name | saperp-applicationserver-conn |
Beschreibung | – |
Dienstkonto | xxxxxxxx-compute@developer.gserviceaccount.com |
Kunde | 800 |
Systemnummer | 00 |
Projekt-ID | xxxx-gcp-project |
Bucket | sap-erp-bucket |
JCO-JAR-Objekt-ID | sapjco3.jar |
libsapjco3-Objekt-ID | libsapjco3.so |
Tabellenmodus | TransparentApplication/TransparentCustomer/TransparentSystem/Pooled/Cluster/None |
Tabellenfunktion lesen | Z_CUSTOM_READ_TABLE |
Anschlussschema | ApplicationServer |
System-ID | SA1 |
Abfragemodus | – |
Durchsuchbare Ansichten | – |
Ausführlichkeitsgrad | 5 |
Mindestanzahl von Knoten | 2 |
Maximale Anzahl von Knoten | 50 |
Hostadresse | 10.30.X.XX oder Routerstring eines externen SAP-Systems. |
Authentifizierung | Nutzerpasswort |
Nutzername | 12345 |
Passwort | xyz@12345 |
Versionen | 1 |
Verbindungstyp des Nachrichtenservers (Gruppenservers)
Bevor Sie eine Verbindung zu einem SAP-System mit einem Message Server (Group Server) herstellen, müssen die folgenden Voraussetzungen erfüllt sein:- Private Service Connect und der Load Balancer müssen mit der SAP-System-IP auf Port 33XX und 36XX in der Netzwerk-Endpunktgruppe (NEG) und der Systemdiagnose konfiguriert werden. Dabei ist XX die System- oder Instanznummer des verwendeten SAP-Systems.
- Sie müssen eine DNS-Zone in Cloud DNS erstellen und den Endpunktanhang des Anwendungsservers, der auf Port 33XX konfiguriert ist, dem Hostnamen des SAP-Systems zuordnen.
- Sie können nur dann eine Verbindung zu einem SAP-System mit einem Message Server (Group Server) herstellen, wenn der Message Server die FQDN-Adresse (Fully Qualified Domain Name) des Anwendungsservers zurückgibt. Sie können keine Verbindung zu einem SAP-System mit einem Message Server (Group Server) herstellen, wenn der Message Server die IP-Adresse zurückgibt.
- Der Nachrichtenserver muss mit dem DNS der Anwendungsserver antworten, mit denen die Anwendung eine Verbindung herstellen muss, wenn die Anwendung dies anfordert.
- Der DNS der Anwendungsserver muss eindeutig sein und darf nicht von einem anderen SAP-System verwendet werden.
- In der SAP-Anwendung müssen die IP-Adressen für die Endpunktanhänge für die Anwendungs- und Nachrichtenserver unter den Parametern „gw/alternative_hostnames“ verwaltet werden.
- Rufen Sie den Transaktionscode RZ10 auf und geben Sie im Instanzprofil einen Eintrag für den Parameter „gw/alternative_hostname“ ein.
- Setzen Sie den Parameter
ms/lg\_with\_hostname
auf 1, um SAP-Nachrichtenserverversionen vor 7.53 so zu konfigurieren, dass Hostnamen zurückgegeben werden. In Version 7.53 und höher werden Hostnamen standardmäßig zurückgegeben. - Starten Sie die SAP-Anwendung neu, damit die Parameter wirksam werden.
In der folgenden Tabelle sind die Beispielkonfigurationswerte für den Verbindungstyp Group Server
aufgeführt:
Feldname | Beispielwert |
---|---|
Region | us-central1 |
Connector | SAP ERP |
Connector-Version | 1 |
Connector-Name | saperp-groupserver-conn |
Beschreibung | – |
Dienstkonto | SA-compute@developer.gserviceaccount.com |
Kunde | 800 |
Systemnummer | 00 |
Projekt-ID | Google Cloud-Projekt |
Bucket | sap-erp-bucket |
JCO-JAR-Objekt-ID | sapjco3.jar |
libsapjco3-Objekt-ID | libsapjco3.so |
Tabellenmodus | TransparentApplication/TransparentCustomer/TransparentSystem/Pooled/Cluster/None |
Gruppe | Öffentlich |
Nachrichtenserver | 10.30.X.XX |
Tabellenfunktion lesen | Z_CUSTOM_READ_TABLE |
Anschlussschema | GroupServer |
System-ID | SA1 |
Abfragemodus | – |
Durchsuchbare Ansichten | – |
Ausführlichkeitsgrad | 5 |
Mindestanzahl von Knoten | 2 |
Maximale Anzahl von Knoten | 50 |
Authentifizierung | Nutzerpasswort |
Nutzername | NUTZERNAME |
Passwort | PASSWORT |
Versionen | 1 |
X509-Zertifikatverbindungstyp
Für die sichere Netzwerkkommunikation (Secure Network Communications, SNC) mit X509-Verbindung müssen Private Service Connect und Load Balancer mit der SAP-System-IP und dem Port 48XX in der Netzwerk-Endpunktgruppe (NEG) und der Systemdiagnose konfiguriert werden. Dabei ist XX die System- oder Instanznummer des verwendeten SAP-Systems. In der folgenden Tabelle sind die Beispielkonfigurationswerte für den Verbindungstyp X509 certificate
aufgeführt. Welche Felder optional und welche Pflichtfelder sind, können Sie der Benutzeroberfläche zum Erstellen von Verbindungen in der Konsole entnehmen.
Feldname | Beispielwert |
---|---|
Region | us-central1 |
Connector | SAP ERP |
Connector-Version | 1 |
Connector-Name | saperp-X509Certificate-conn |
Beschreibung | – |
Dienstkonto | xxxxxxxx-compute@developer.gserviceaccount.com |
Kunde | 800 |
Systemnummer | 00 |
Projekt-ID | xxxx-gcp-project |
Bucket | sap-erp-bucket |
JCO-JAR-Objekt-ID | sapjco3.jar |
libsapjco3-Objekt-ID | libsapjco3.so |
Tabellenmodus | TransparentApplication/TransparentCustomer/TransparentSystem/Pooled/Cluster/None |
SNC_LIB-Objekt-ID | libsapcrypto.so |
PSE-Name zum Erstellen der Datei „cred_v2“ | EHP8_GCP_SA1.pse |
Tabellenfunktion lesen | Z_CUSTOM_READ_TABLE |
Anschlussschema | ApplicationServer |
System-ID | SA1 |
SNC-Sicherheitscode | xyz@gcp |
SNC-Modus | Ein boolescher Wert, der angibt, ob Sie SNC verwenden. Legen Sie diesen Wert auf „true“ fest, um SNC zu verwenden. |
SNC-Name | p:CN=EHP8_GCP_SA1, OU=IT, O=CSW, C=DE |
SNC Qop | 3 |
SNC PartnerName | p:CN=SA1, OU=I0020070395, OU=SAP Web AS, O=SAP Trust Community, C=DE |
Abfragemodus | – |
Durchsuchbare Ansichten | – |
Ausführlichkeitsgrad | 5 |
Mindestanzahl von Knoten | 2 |
Maximale Anzahl von Knoten | 50 |
Hostadresse | 10.30.X.XX oder Routerstring des externen SAP-Systems. |
Authentifizierung | Auf X509-Zertifikaten basierende Authentifizierung |
X509Certificate | Das X509-Zertifikat kann über einen Dateipfad angegeben werden, der auf eine Datei mit einem X509-Zertifikat im PEM-Format verweist, über einen PEM-Blob, der mit der Kopfzeile „-----BEGIN ...“ beginnt, oder über einen PEM-Blob ohne die Kopfzeile „-----BEGIN ...“. |
Versionen | 1 |
Systembeschränkungen
Der SAP ERP-Connector kann 7 Transaktionen pro Sekunde und Knoten verarbeiten und drosselt alle Transaktionen, die dieses Limit überschreiten. Standardmäßig werden für eine Verbindung zwei Knoten (für eine bessere Verfügbarkeit) zugewiesen.
Informationen zu den für Integration Connectors geltenden Limits finden Sie unter Limits.
SAP ERP-Verbindung in einer Integration verwenden
Nachdem Sie die Verbindung erstellt haben, ist sie sowohl in Apigee Integration als auch in Application Integration verfügbar. Sie können die Verbindung in einer Integration über die Aufgabe „Connectors“ verwenden.
- Informationen zum Erstellen und Verwenden der Connectors-Aufgabe in Apigee Integration finden Sie unter Connectors-Aufgabe.
- Informationen zum Erstellen und Verwenden der Connectors-Aufgabe in Application Integration finden Sie unter Connectors-Aufgabe.
Entitäten, Vorgänge und Aktionen
Alle Integration Connectors bieten eine Abstraktionsebene für die Objekte der verbundenen Anwendung. Sie können nur über diese Abstraktion auf die Objekte einer Anwendung zugreifen. Die Abstraktion wird Ihnen als Entitäten, Vorgänge und Aktionen zur Verfügung gestellt.
- Entität: Eine Entität kann als Objekt oder Sammlung von Attributen in der verbundenen Anwendung oder im verbundenen Dienst verstanden werden. Die Definition einer Entität unterscheidet sich von Connector zu Connector. Beispiel: In einem Datenbank-Connector sind Tabellen die Entitäten, in einem Dateiserver-Connector sind Ordner die Entitäten und in einem Nachrichtensystem-Connector sind Warteschlangen die Entitäten.
Es ist jedoch möglich, dass ein Connector keine Entitäten unterstützt oder keine Entitäten enthält. In diesem Fall ist die Liste
Entities
leer. - Vorgang: Ein Vorgang ist die Aktivität, die Sie für eine Entität ausführen können. Sie können einen der folgenden Vorgänge für eine Entität ausführen:
Durch Auswahl einer Entität aus der verfügbaren Liste wird eine Liste der Vorgänge generiert, die für die Entität verfügbar sind. Eine detaillierte Beschreibung der Vorgänge finden Sie in den Entitätsvorgängen der Connectors-Aufgabe. Wenn ein Connector jedoch keine der Entitätsvorgänge unterstützt, werden diese nicht unterstützten Vorgänge nicht in der
Operations
-Liste aufgeführt. - Aktion: Eine Aktion ist eine Funktion erster Klasse, die über die Connector-Benutzeroberfläche für die Integration verfügbar gemacht wird. Mit einer Aktion können Sie Änderungen an einer oder mehreren Entitäten vornehmen, die von Connector zu Connector unterschiedlich sind. Normalerweise hat eine Aktion einige Eingabeparameter und einen Ausgabeparameter. Es ist jedoch möglich, dass ein Connector keine Aktionen unterstützt. In diesem Fall ist die
Actions
-Liste leer.
Aktionen
Dieser Abschnitt enthält Informationen zu den RFCs und listet die vom Connector unterstützten Aktionen auf. Informationen zum Konfigurieren der Aktionen finden Sie unter Beispiele für Aktionen.
RFCs verwenden
In diesem Abschnitt finden Sie Informationen zu den erforderlichen RFCs und zur Verwendung der RFCs.
Erforderliche RFCs
Wenn einer der erforderlichen RFCs nicht verfügbar ist, funktionieren einige oder alle Funktionen möglicherweise nicht. Mit dem T-Code SE37 können Sie verfügbare Funktionsmodule in SAP aufrufen.
Die folgenden RFCs werden vom SAP ERP-Connector verwendet.
- DDIF_FIELDINFO_GET
- RFC_GET_FUNCTION_INTERFACE
- RFC_GET_STRUCTURE_DEFINITION
- RFC_GET_SYSTEM_INFO
- RFC_GET_UNICODE_STRUCTURE
- RFC_READ_TABLE
- SLDAG_CHECK_FOR_UNICODE
Große Datenmengen lesen
In diesem Abschnitt wird beschrieben, wie Sie große Datenmengen aus Ihrem SAP-Backend lesen.
Der SAP ERP-Connector verwendet die Funktion SAP RFC_READ_TABLE
, um Daten aus SAP-Tabellen abzurufen. Diese Funktion hat eine feste Größe von 512 Byte. Es kann für jede Datenzeile gepuffert werden. Daher können Sie nicht mehr Spalten auswählen, als in diesen Puffer passen. Wenn Sie mehr als 512 Byte auswählen, tritt beim Ausführen der Integration die Ausnahme DATA_BUFFER_EXCEEDED
auf. Das bedeutet, dass Sie die maximal zulässige Puffergröße pro Zeile überschritten haben und weniger Spalten auswählen müssen.
Um dieses Problem zu beheben, können Sie den Code für ein Custom RFC_READ_TABLE
einfügen, das dem SAP RFC_READ_TABLE
ähnelt, aber einen größeren Puffer hat, um das Problem mit DATA_BUFFER_EXCEEDED
zu beheben.
Benutzerdefinierte Funktion zum Lesen von Tabellen verwenden
Der Connector unterstützt einen Custom RFC_READ_TABLE
, der dem SAP RFC_READ_TABLE
ähnelt, aber einen größeren Puffer hat, sodass das Problem DATA_BUFFER_EXCEEDED
behoben werden kann.
Benutzerdefinierte RFC_READ_TABLE in Ihrem SAP-Backend erstellen
Führen Sie die folgenden Schritte aus, um die benutzerdefinierte Beispiel-RFC_READ_TABLE zu verwenden.
- Verwenden Sie die Funktion
RFC_READ_TABLE
als Vorlage für die neue Funktion: Wählen Sie den Transaktionscode SE37 und die SDTX-Funktionsgruppe aus und kopieren SieRFC_READ_TABLE
in eine neue Funktionsgruppe oder Ihre Arbeitsfunktionsgruppe. In diesem Beispiel wirdRFC_READ_TABLE
inZ_CUSTOM_RFC_TABLE
kopiert. - Wählen Sie auf dem Tab Attribute der SAP-Seite die Option Remote Enabled Module (Modul mit Remote-Zugriff) aus.
- Legen Sie auf dem Tab Tabellen den Parameter
DATA
aufCHAR8000
fest. Möglicherweise müssen Sie mit der rechten Maustaste klicken und dann auf Anzeigen -> Ändern klicken. - Geben Sie auf dem Tab Quellcode den benutzerdefinierten RFC-Code für „read-table“ ein. Eine Referenz finden Sie unter sample Z_CUSTOM_RFC_TABLE_function.txt.
- Klicken Sie auf Speichern.
- Definieren Sie die Importe, Tabellen und Ausnahmen wie in der bereitgestellten benutzerdefinierten Lesetabelle beschrieben.
- Aktivieren Sie das Funktionsmodul.
Benutzerdefinierte Tabelle zum Lesen für ABAP 7.52
Wenn Sie ABAP 7.52 oder höher verwenden, lesen Sie das Beispiel Z_CUSTOM_RFC_TABLE_function_ABAP752.txt.
Die Beispielfunktion ist für ABAP-Version 7.52 und höher konzipiert. Sie ähnelt der Funktion Z_CUSTOM_RFC_TABLE
, nutzt aber neu verfügbare Schlüsselwörter in ABAP 7.52, um die Paginierung in der Datenbank anstelle des ABAP-Skripts selbst durchzuführen. Dadurch wird die Paginierung wesentlich effizienter und die Leistung bei der Arbeit mit großen Tabellen verbessert. Es wird empfohlen, nach Möglichkeit Z_CUSTOM_RFC_TABLE_752 RFC
zu verwenden.
Zugriff auf die Funktion RFC_READ_TABLE
In diesem Abschnitt finden Sie Informationen zur Rolle, die einem SAP-Nutzer zugewiesen werden muss, um auf die Funktion „RFC_READ_TABLE“ zuzugreifen. Diese Funktion ist ein fernzugriffsberechtigtes Funktionsmodul, das einen generischen Lesezugriff auf beliebige Tabellen ermöglicht.
Damit die Tabellen bei der Konfiguration des SAP ERP-Connectors unter „Entitäten“ aufgeführt werden, müssen Sie die Funktion „RFC_READ_TABLE“ auf SAP ERP-Verbindungsebene verwenden und berechtigt sein, auf die R/3-Funktion „RFC_READ_TABLE“ zuzugreifen.
Fügen Sie die Autorisierung S_TABU_DIS für die Aktivität 03 (Anzeigen) und die Autorisierungsgruppe „SC“ für die Funktion RFC_READ_TABLE hinzu.
Im Folgenden sind einige der technischen Einschränkungen von RFC_READ_TABLE aufgeführt:
- Es können nur Tabellen mit einfachen Datentypen gelesen werden. STRING- oder XSTRING-Felder werden nicht unterstützt.
- Die maximale Zeilenbreite beträgt 512 Zeichen.
- Die Anzahl der zurückgegebenen Datensätze ist durch Speichergrenzwerte begrenzt.
Aktion „BAPI_MATERIAL_SAVEDATA“
Mit dieser Aktion können Sie bestimmte Aufgaben ausführen. Sie können damit beispielsweise Materialstammdaten in SAP ERP erstellen oder ändern.
Eingabeparameter der Aktion „BAPI_MATERIAL_SAVEDATA“
Parametername | Datentyp | Erforderlich | Beschreibung |
---|---|---|---|
HEADDATA | String | Ja | Der Eingabeparameter HEADDATA. |
CLIENTDATA | String | Ja | Der Eingabeparameter CLIENTDATA. |
CLIENTDATAX | String | Ja | Der Eingabeparameter CLIENTDATAX. |
MATERIALDESCRIPTION | String | Ja | Die Tabelle MATERIALDESCRIPTION. |
Ausgabeparameter der Aktion „BAPI_MATERIAL_SAVEDATA“
Bei erfolgreicher Ausführung gibt diese Aktion den Status 200 (OK) zurück.
Ein Beispiel für die Konfiguration der Aktion BAPI_MATERIAL_SAVEDATA
finden Sie unter Beispiele für Aktionen.
ZFM_GCP_MULTIDATA_TAB-Aktion
Mit dieser Aktion können Nutzer bestimmte Aufgaben ausführen. Sie können beispielsweise Daten mit mehreren Datentypen in SAP ERP erstellen.
Eingabeparameter der Aktion „ZFM_GCP_MULTIDATA_TAB“
Parametername | Datentyp | Erforderlich | Beschreibung |
---|---|---|---|
ReturnTables | String | Ja | Eine durch Kommas getrennte Liste, die angibt, welche Tabellen im Funktionsmodul ausgegeben werden sollen. Wenn nichts angegeben ist, werden alle zurückgegebenen Tabellen ausgegeben. |
T_TABLE | String | Ja | Die Tabelle T_TABLE. |
IM_INPUT_1 | String | Ja | Der Eingabeparameter IM_INPUT_1. |
IM_INPUT_2 | String | Ja | Der Eingabeparameter IM_INPUT_2. |
Ausgabeparameter der Aktion „ZFM_GCP_MULTIDATA_TAB“
Bei erfolgreicher Ausführung gibt diese Aktion den Status 200 (OK) zurück.
Ein Beispiel für die Konfiguration der ZFM_GCP_MULTIDATA_TAB
-Aktion finden Sie unter Beispiele für Aktionen.
PushIDoc-Aktion
Mit dieser Aktion können Sie bestimmte Aufgaben ausführen. Sie können beispielsweise Daten von SAP in ein externes System übertragen.
Eingabeparameter der PushIDoc-Aktion
Parametername | Datentyp | Erforderlich | Beschreibung |
---|---|---|---|
FileType | String | Ja | Der Dateityp.Die zulässigen Werte sind XML und IDoc. |
Modus | String | Ja | Der Übertragungsmodus.Die zulässigen Werte sind „Sync“ und „ASync“. |
Inhalt | String | Ja | Inhalt der Datei. |
Ausgabeparameter der PushIDoc-Aktion
Bei erfolgreicher Ausführung gibt diese Aktion den Status 200 (OK) zurück.
Beispiele für die Konfiguration der PushIDoc
-Aktion finden Sie unter Beispiele für Aktionen.
Aktion „ExecuteCustomQuery“
Mit dieser Aktion können Sie eine benutzerdefinierte Abfrage ausführen.
So erstellen Sie eine benutzerdefinierte Abfrage:
- Folgen Sie der detaillierten Anleitung zum Hinzufügen einer Connectors-Aufgabe.
- Wenn Sie die Connector-Aufgabe konfigurieren, wählen Sie unter „Art der auszuführenden Aktion“ die Option Aktionen aus.
- Wählen Sie in der Liste Aktion die Option Benutzerdefinierte Abfrage ausführen aus und klicken Sie dann auf Fertig.
- Maximieren Sie den Abschnitt Aufgabeneingabe und gehen Sie dann so vor:
- Geben Sie im Feld Zeitlimit nach die Anzahl der Sekunden ein, die gewartet werden soll, bis die Abfrage ausgeführt wird.
Standardwert:
180
Sekunden. - Geben Sie im Feld Maximale Zeilenanzahl die maximale Anzahl der Zeilen ein, die aus der Datenbank zurückgegeben werden sollen.
Standardwert:
25
. - Wenn Sie die benutzerdefinierte Abfrage aktualisieren möchten, klicken Sie auf Benutzerdefiniertes Skript bearbeiten. Das Dialogfeld Skripteditor wird geöffnet.
- Geben Sie im Dialogfeld Skripteditor die SQL-Abfrage ein und klicken Sie auf Speichern.
Sie können ein Fragezeichen (?) in einer SQL-Anweisung verwenden, um einen einzelnen Parameter darzustellen, der in der Liste der Abfrageparameter angegeben werden muss. Mit der folgenden SQL-Abfrage werden beispielsweise alle Zeilen aus der Tabelle
Employees
ausgewählt, die den für die SpalteLastName
angegebenen Werten entsprechen:SELECT * FROM Employees where LastName=?
- Wenn Sie Fragezeichen in Ihrer SQL-Abfrage verwendet haben, müssen Sie den Parameter hinzufügen, indem Sie für jedes Fragezeichen auf + Parameternamen hinzufügen klicken. Bei der Ausführung der Integration werden diese Parameter sequenziell durch die Fragezeichen (?) in der SQL-Abfrage ersetzt. Wenn Sie beispielsweise drei Fragezeichen (?) hinzugefügt haben, müssen Sie drei Parameter in der richtigen Reihenfolge hinzufügen.
So fügen Sie Abfrageparameter hinzu:
- Wählen Sie in der Liste Typ den Datentyp des Parameters aus.
- Geben Sie im Feld Wert den Wert des Parameters ein.
- Wenn Sie mehrere Parameter hinzufügen möchten, klicken Sie auf + Abfrageparameter hinzufügen.
- Geben Sie im Feld Zeitlimit nach die Anzahl der Sekunden ein, die gewartet werden soll, bis die Abfrage ausgeführt wird.
Bei erfolgreicher Ausführung gibt diese Aktion den Status 200 (OK) mit einem Antworttext zurück, der die Abfrageergebnisse enthält.
Beispiele für Aktionen
Beispiel: Eintrag erstellen
In diesem Beispiel wird ein Materialdatensatz mit der Aktion BAPI_MATERIAL_SAVEDATA erstellt.
- Klicken Sie im Dialogfeld
Configure connector task
aufActions
. - Wählen Sie die Aktion
BAPI_MATERIAL_SAVEDATA
aus und klicken Sie auf Fertig. - Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf
connectorInputPayload
und geben Sie dann einen Wert ähnlich dem folgenden in FeldDefault Value
ein:{ "HEADDATA": "{\"MATERIAL\":\"000000000000009001\",\"IND_SECTOR\":\"M\",\"MATL_TYPE\":\"HALB\",\"BASIC_VIEW\":\"X\"}", "CLIENTDATA" : "{\"MATL_GROUP\":\"00107\",\"BASE_UOM\":\"KG\"}", "CLIENTDATAX" : "{\"MATL_GROUP\":\"X\",\"BASE_UOM\":\"X\"}", "MATERIALDESCRIPTION" : "{\"LANGU\":\"E\",\"MATL_DESC\":\"Classification Google\"}" }
Wenn die Aktion erfolgreich ist, hat der connectorOutputPayload
-Antwortparameter der BAPI_MATERIAL_SAVEDATA
-Aufgabe einen Wert, der dem folgenden ähnelt:
[{ "RETURN_TYPE": "S", "RETURN_ID": "MM", "RETURN_NUMBER": 356, "RETURN_MESSAGE": "The material 9001 has been created or extended", "RETURN_LOG_NO": "", "RETURN_LOG_MSG_NO": 0, "RETURN_MESSAGE_V1": "9001", "RETURN_FIELD": "", "RETURN_SYSTEM": "T90CLNT090", "RESULT_TABLE": null }]
Beispiel: Datensatz aktualisieren
In diesem Beispiel wird ein Materialdatensatz mit der Aktion BAPI_MATERIAL_SAVEDATA aktualisiert.
- Klicken Sie im Dialogfeld
Configure connector task
aufActions
. - Wählen Sie die Aktion
BAPI_MATERIAL_SAVEDATA
aus und klicken Sie auf Fertig. - Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf
connectorInputPayload
und geben Sie dann einen Wert ähnlich dem folgenden in FeldDefault Value
ein:{ "HEADDATA": "{\"MATERIAL\":\"000000000000009000\",\"IND_SECTOR\":\"A\",\"MATL_TYPE\":\"FHMI\",\"BASIC_VIEW\":\"X\"}", "CLIENTDATA": "{\"MATL_GROUP\":\"013\",\"BASE_UOM\":\"ST\"}", "CLIENTDATAX": "{\"MATL_GROUP\":\"X\",\"BASE_UOM\":\"X\"}", "MATERIALDESCRIPTION": "{\"LANGU\":\"E\",\"MATL_DESC\":\"Classification Googlecloud\"}" }
Wenn die Aktion erfolgreich ist, hat der Antwortparameter connectorOutputPayload
des BAPI_MATERIAL_SAVEDATA
-Vorgangs einen Wert, der dem folgenden ähnelt:
[{ "RETURN_TYPE": "S", "RETURN_ID": "MM", "RETURN_NUMBER": 356, "RETURN_MESSAGE": "The material 9000 has been created or extended", "RETURN_LOG_NO": "", "RETURN_LOG_MSG_NO": 0, "RETURN_MESSAGE_V1": "9000", "RETURN_PARAMETER": "", "RETURN_ROW": 0, "RETURN_FIELD": "", "RETURN_SYSTEM": "T90CLNT090", "RESULT_TABLE": null }]
Beispiel: Eintrag löschen
In diesem Beispiel wird ein Materialdatensatz mit der Aktion BAPI_MATERIAL_SAVEDATA gelöscht.
- Klicken Sie im Dialogfeld
Configure connector task
aufActions
. - Wählen Sie die Aktion
BAPI_MATERIAL_SAVEDATA
aus und klicken Sie auf Fertig. - Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf
connectorInputPayload
und geben Sie dann einen Wert ähnlich dem folgenden in FeldDefault Value
ein:{ "HEADDATA": "{\"MATERIAL\":\"000000000000009000\",\"BASIC_VIEW\":\"X\"}", "CLIENTDATA": "{\"DEL_FLAG\":\"X\"}", "CLIENTDATAX": "{\"DEL_FLAG\":\"X\"}" }
Wenn die Aktion erfolgreich ist, hat der Antwortparameter connectorOutputPayload
des BAPI_MATERIAL_SAVEDATA
-Vorgangs einen Wert, der dem folgenden ähnelt:
[{ "RETURN_TYPE": "S", "RETURN_ID": "MM", "RETURN_NUMBER": 356, "RETURN_LOG_NO": "", "RETURN_LOG_MSG_NO": 0, "RETURN_MESSAGE_V1": "9000", "RETURN_PARAMETER": "", "RETURN_ROW": 0, "RETURN_FIELD": "", "RETURN_SYSTEM": "T90CLNT090", "RESULT_TABLE": null }]
Beispiel: Daten mit mehreren Datentypen erstellen
In diesem Beispiel werden Daten mit mehreren Datentypen mit der Aktion ZFM_GCP_MULTIDATA_TAB erstellt.
- Klicken Sie im Dialogfeld
Configure connector task
aufActions
. - Wählen Sie die Aktion
ZFM_GCP_MULTIDATA_TAB
aus und klicken Sie auf Fertig. - Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf
connectorInputPayload
und geben Sie dann einen Wert ähnlich dem folgenden in FeldDefault Value
ein:{ "T_TABLE": "{\"ZACCP\":\"111\",\"ZCHAR\":\"CHARACTER1\",\"ZCLNT\":\"100\",\"ZCUKY\":\"INR\",\"ZCURR\": 200,\"ZDATS\": \"20231213\",\"ZINT1\": 45,\"ZINT2\":54,\"ZDEC\": 0.12,\"ZFLTP\": 1234,\"ZLANG\":\"E\",\"ZNUMC\":\"110\",\"ZPREC\": 3,\"ZQUAN\": 188.0,\"ZRAW\":\"01010008010101050401\",\"ZTIMS\": \"103056\",\"ZUNIT\":\"11\",\"ZINT4P\": 45,\"ZINT4\": 54,\"ZLRAW\":\"0101000801010105040100030101010300040000\"}", "IM_INPUT_1": "{\"ZACCP\":\"222\",\"ZCHAR\":\"CHARACTER1\",\"ZCLNT\":\"100\",\"ZCUKY\":\"INR\",\"ZCURR\": 200,\"ZDATS\": \"20231213\",\"ZINT1\": 45,\"ZINT2\":54,\"ZDEC\": 0.12,\"ZFLTP\": 1234,\"ZLANG\":\"E\",\"ZNUMC\":\"110\",\"ZPREC\": 3,\"ZQUAN\": 188.0,\"ZRAW\":\"01010008010101050401\",\"ZTIMS\": \"103056\",\"ZUNIT\":\"11\",\"ZINT4P\": 45,\"ZINT4\": 54,\"ZLRAW\":\"0101000801010105040100030101010300040000\"}", "IM_INPUT_2": "{\"ZSTRING\": \"HI Google\",\"ZSSTRING\": \"HI Google How are you\"}" }
Wenn die Aktion erfolgreich ist, hat der Antwortparameter connectorOutputPayload
des ZFM_GCP_MULTIDATA_TAB
-Vorgangs einen Wert, der dem folgenden ähnelt:
[{ "EX_OUTPUT_1_ZACCP": 222, "EX_OUTPUT_1_ZCHAR": "CHARACTER1", "EX_OUTPUT_1_ZCLNT": "100", "EX_OUTPUT_1_ZCUKY": "INR", "EX_OUTPUT_1_ZCURR": 200, "EX_OUTPUT_1_ZDATS": "2023-12-13", "EX_OUTPUT_1_ZRAW": "01010008010101050401", "EX_OUTPUT_1_ZTIMS": "10:30:56", "EX_OUTPUT_1_ZUNIT": "11", "EX_OUTPUT_1_ZINT4P": 45, "EX_OUTPUT_1_ZINT4": 54, "EX_OUTPUT_1_ZLRAW": "0101000801010105040100030101010300040000\u0000", "EX_OUTPUT_2_ZSTRING": null, "EX_OUTPUT_2_ZSSTRING": null, "RESULT_TABLE": null, "T_TABLE_ZACCP": null, "T_TABLE_ZCHAR": null, "T_TABLE_ZCLNT": null, "T_TABLE_ZQUAN": null, "T_TABLE_ZRAW": null, "T_TABLE_ZTIMS": null, "T_TABLE_ZUNIT": null },{ "EX_OUTPUT_1_ZACCP": null, "EX_OUTPUT_1_ZCHAR": null, "EX_OUTPUT_1_ZCLNT": null, "EX_OUTPUT_1_ZCUKY": null, "EX_OUTPUT_1_ZRAW": null, "T_TABLE_ZLANG": null, "T_TABLE_ZNUMC": null, "T_TABLE_ZPREC": null, "T_TABLE_ZQUAN": null, "T_TABLE_ZRAW": null, "T_TABLE_ZTIMS": null, "T_TABLE_ZUNIT": null },{ "EX_OUTPUT_1_ZACCP": null, "EX_OUTPUT_1_ZCHAR": null, "EX_OUTPUT_1_ZCLNT": null, "EX_OUTPUT_1_ZCUKY": null, "EX_OUTPUT_1_ZCURR": null, "EX_OUTPUT_1_ZDATS": null, "EX_OUTPUT_1_ZDEC": null, "EX_OUTPUT_1_ZQUAN": null, "T_TABLE_ZNUMC": 110, "T_TABLE_ZPREC": 3, "T_TABLE_ZQUAN": 188, "T_TABLE_ZRAW": "01010008010101050401", "T_TABLE_ZTIMS": "10:30:56", "T_TABLE_ZUNIT": "11" }]
Beispiel: IDoc übertragen
In diesem Beispiel wird ein IDoc an das SAP ERP-System gesendet.
- Klicken Sie im Dialogfeld
Configure connector task
aufActions
. - Wählen Sie die Aktion
PushIDoc
aus und klicken Sie auf Fertig. - Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf
connectorInputPayload
und geben Sie dann einen Wert ähnlich dem folgenden in FeldDefault Value
ein:{ "Content": "\n\n\n EDI_DC40\n 800\n 0000000008604824\n 740\n 53\n 2\n \n MATMAS05\n MATMAS\n ZLS_QA23\n LS\n ZLS_QA23\n SAPSA1\n LS\n SA1CLNT800\n 20230218\n 232556\n\n\n 005\n 000000000000000012\n 20170328\n 42039\n 20170727\n 42039\n KLVC\n FERT\n M\n 02\n BG\n 000\n 002\n 0.000\n 0.000\n KGM\n 0.000\n 0001\n 0.000\n 0.000\n 0.000\n 0.000\n 0.000\n", "FileType": "XML", "Mode": "ASync" }
Wenn die Aktion erfolgreich ist, hat der Antwortparameter connectorOutputPayload
des PushIDoc
-Vorgangs einen Wert, der dem folgenden ähnelt:
[{ "Result": "Success", "Message": "Push IDoc success" }]
Beispiele für Entitätsvorgänge
In diesem Abschnitt wird beschrieben, wie Sie einige Entitätsvorgänge in diesem Connector ausführen.
Beispiel: Alle Datensätze auflisten
In diesem Beispiel werden alle Datensätze in der Entität T001
aufgelistet.
- Klicken Sie im Dialogfeld
Configure connector task
aufEntities
. - Wählen Sie
T001
aus der ListeEntity
aus. - Wählen Sie den Vorgang
List
aus und klicken Sie auf Fertig. - Optional können Sie im Bereich Aufgabeneingabe der Aufgabe Connectors das Ergebnisset filtern, indem Sie eine Filterklausel angeben. Geben Sie den Wert der Filterklausel immer in einfachen Anführungszeichen (') an.
Beispiel: Datensatz aus einer Entität abrufen
In diesem Beispiel wird ein Datensatz mit der angegebenen ID aus der T001
-Entität abgerufen.
- Klicken Sie im Dialogfeld
Configure connector task
aufEntities
. - Wählen Sie
T001
aus der ListeEntity
aus. - Wählen Sie den Vorgang
Get
aus und klicken Sie auf Fertig. - Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf EntityId und geben Sie dann
0001
in das Feld Standardwert ein.Dabei ist
0001
eine eindeutige Datensatz-ID in derT001
-Entität.
Verbindungen mit Terraform erstellen
Sie können die Terraform-Ressource verwenden, um eine neue Verbindung zu erstellen.
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
Ein Beispiel für eine Terraform-Vorlage zum Erstellen einer Verbindung finden Sie hier.
Wenn Sie diese Verbindung mit Terraform erstellen, müssen Sie die folgenden Variablen in Ihrer Terraform-Konfigurationsdatei festlegen:
Parametername | Datentyp | Erforderlich | Beschreibung |
---|---|---|---|
Client | STRING | Wahr | Der Client, der sich beim SAP-System authentifiziert. |
Gruppe | STRING | Falsch | Die verwendete Anmeldegruppe. Dies muss in der Regel nur angegeben werden, wenn Sie eine Verbindung zu einem SAP-System herstellen, das Load-Balancing verwendet. |
message_server | STRING | Falsch | Der Message Server muss angegeben werden, wenn eine Verbindung zu einem SAP-System hergestellt wird, das Load-Balancing verwendet. |
read_table_function | STRING | Falsch | Die Funktion, die zum Lesen von Tabellendaten verwendet werden soll. |
connection_scheme | ENUM | Falsch | Gibt an, ob Sie eine Verbindung zu einem SAP-System mit einem Message-Server (GroupServer) oder ohne einen solchen (ApplicationServer) herstellen. Unterstützte Werte: ApplicationServer, GroupServer |
system_id | STRING | Falsch | Die System-ID oder der R3Name des SAP-Systems ist ein String mit maximal drei Zeichen. Sie wird häufig für den Lastenausgleich von Verbindungen verwendet. |
system_number | STRING | Wahr | Die Nummer, mit der das Zielsystem definiert wird. Wird beim Festlegen der Hostverbindungseigenschaft verwendet. |
project_id | STRING | Wahr | Die ID des Google Cloud-Projekts, in dem sich der Cloud Storage-Bucket mit der SAP JCo-JAR-Datei befindet. |
Bucket | STRING | Wahr | Der Name des Buckets, der die Dateien „sapjco3.jar“ und „libsapjco3.so“ enthält. |
sapjco3_jar | STRING | Wahr | Die Objekt-ID für sapjco3.jar |
libsapjco3_so | STRING | Wahr | Die Objekt-ID für libsapjco3.so |
snc_lib | STRING | Falsch | Die Objekt-ID für die SNC-Bibliothek |
snc_mode | BOOLEAN | Falsch | Ein boolescher Wert, der angibt, ob Sie SNC verwenden. Legen Sie diesen Wert auf „true“ fest, um SNC zu verwenden. |
snc_name | STRING | Falsch | Eine optionale Eingabe mit dem Namen Ihrer SNC-Verbindung. |
snc_qop | ENUM | Falsch | Die Qualität des Schutzes für Ihre SNC-Verbindung.Gültige Werte sind 1, 2, 3, 8 oder 9, die den folgenden Schutzstufen entsprechen: 1 Nur Authentifizierung anwenden. 2. Integritätsschutz (Authentifizierung) anwenden 3. Datenschutz anwenden (Integrität und Authentifizierung). 8. Wenden Sie den Standardschutz an. 9. Maximalen Schutz anwenden Unterstützte Werte: 1, 2, 3, 8, 9 |
snc_partner_name | STRING | Falsch | Der SNC-Name des Anwendungsservers. Dies ist eine erforderliche Eingabe, wenn SNC verwendet wird. |
query_mode | ENUM | Falsch | Legt fest, welche SAP-Tabellen als Ansichten angezeigt werden, falls vorhanden. Unterstützte Werte: Global, Local, All, None |
table_mode | ENUM | Falsch | Legt fest, welche SAP-Tabellen als Ansichten angezeigt werden, falls vorhanden. Unterstützte Werte: TransparentApplication, TransparentCustomer, TransparentSystem, Pooled, Cluster, All, None |
Ausführlichkeit | STRING | Falsch | Ausführlichkeitsgrad für die Verbindung, variiert von 1 bis 5. Bei einem höheren Ausführlichkeitsgrad werden alle Kommunikationsdetails (Anfrage,Antwort und SSL-Zertifikate) protokolliert. |
Fehlerbehebung bei der lokalen SAP-Konfiguration
Wenn sich Ihr SAP-System lokal befindet, müssen Sie einen Proxy-Load-Balancer mit einem Hybrid-NEG erstellen.
- Erstellen Sie einen IPsec-Tunnel zwischen dem lokalen System und Google Cloud mit zulässigen Subnetzen.
- Load-Balancing-Subnetz und Proxy-Subnetz in lokalen Firewalls zulassen.
- Fügen Sie alle erforderlichen Ports hinzu, z. B. 33XX für die Verbindung zum Anwendungsserver, 36XX für die Verbindung zum Nachrichtenserver/LB-Server und 48XX für die SNC-X509-Verbindung. Dabei ist XX die System- oder Instanznummer des SAP-Systems. Fügen Sie die erforderliche IP-Adresse für die Firewall der Zulassungsliste für eingehenden Traffic im Google Cloud-Projekt hinzu, z. B. die IP-Adresse und den Port des Load Balancers sowie die IP-Adresse und den Port des SAP-Systems.
- Regionalen internen Proxy-Network Load Balancer mit Hybrid-NEG konfigurieren. Weitere Informationen finden Sie unter Regionaler interner Proxy-Network Load Balancer mit Hybrid-NEG-Verbindung.
Wenn nach der Einrichtung der Netzwerkverbindung ein Fehler wie der folgende auftritt, verwenden Sie die folgende Problemumgehung, um die IP-Adresse des Endpunktanhangs auf die Zulassungsliste zu setzen.
Initialization of destination SAP--1910584855 failed: Connect from SAP gateway to RFC server failed connection parameters: TYPE=A DESTINATION=SAP--1910584855 ASHOST=10.128.0.43 SYSNR=00 PCS=1 LOCATION SAP-Gateway on host DELVM05S15.bcone.com / sapgw00 ERROR timeout during allocate TIME Wed Apr 3 17:24:40 2024 RELEASE 754 COMPONENT SAP-Gateway VERSION 2 RC 242 MODULE D:/depot/bas/754_REL/src/krn/si/gw/gwr3cpic.c LINE 2208 DETAIL no connect of TP sapdp00 from host 10.128.0.43 after 20 sec COUNTER 2
SAP-Glossar
SAP:Der Begriff „SAP“ ist ein Oberbegriff für alle unterstützten SAP-Editionen. Dies weist im Allgemeinen auf SAP ECC Version 6 oder höher hin. Damit der SAP ERP-Connector funktioniert, ist eine Verbindung zu einer SAP-Version erforderlich, die das RFC SDK unterstützt.
Funktionsmodul:Ein Funktionsmodul ist eine Art Programm oder Funktion in SAP, mit dem sich fast jeder Vorgang ausführen lässt. Diese Module können in SAP über den TCode SE37 getestet und geschrieben werden.
RFC:Ein Remote Function Call (RFC) ist ein Aufruf eines bestimmten RFM/FM, der von externen Anwendungen ausgeführt werden kann. Dazu gehört die Verwendung von Bibliotheken, die von SAP verteilt werden und auf dem SAP-Server installiert sind. Sie können auch von sap.com heruntergeladen werden. Bestimmte RFMs werden möglicherweise bei SAP-Upgrades beibehalten. Es gibt Standard-RFMs von SAP, die sich in älteren Versionen unterscheiden oder nicht vorhanden sein können. Benutzerdefinierte RFMs können (und werden häufig) zur Unterstützung von Integrationen erstellt und müssen vom SAP-Kunden verwaltet werden. Benutzerdefinierte RFMs beginnen in der Regel mit dem Buchstaben „Z“.
BAPI:Eine Business API (BAPI) ist eine API-Methode eines Geschäftsobjekts, das wiederum ein RFC-fähiges Funktionsmodul von SAP ist, um Zugriff auf Geschäftslogikvorgänge zu ermöglichen. Es gibt beispielsweise etwa 60 BAPIs, die sich ausschließlich auf das Kundenobjekt beziehen. In der Praxis werden in der Regel nur wenige verwendet.
SAP-Tabelle:Eine SAP-Tabelle ist eine Tabelle, in der Daten in SAP gespeichert werden. Sie sind nicht mit Geschäftsobjekten identisch. So gibt es in SAP beispielsweise keine Tabelle für Bestellungen. Stattdessen gibt es viele Tabellen, die Bestellungsdaten enthalten, z. B. EBAN, EBKN, EINA und EKPO. Benutzerdefinierte Tabellen beginnen in der Regel mit dem Buchstaben Z.
SAP-Abfragen:Eine SAP-Abfrage ist ein gespeichertes Objekt in SAP, in dem Informationen zum Abrufen aus einer oder mehreren Tabellen angegeben sind. Sie werden in der Regel für die Berichterstellung verwendet.
Hilfe von der Google Cloud-Community erhalten
Sie können Ihre Fragen und Anregungen zu diesem Connector in der Google Cloud-Community unter Cloud-Foren posten.Nächste Schritte
- Verbindung anhalten und fortsetzen
- Informationen zum Überwachen der Connector-Nutzung
- Connector-Logs ansehen