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 über die folgenden Methoden mit SAP R/3-Systemen kommunizieren:
- Business Application Programming Interface (BAPIs)
- Remote Function Calls (RFCs)
- SAP-Tabellen
- SAP-Abfragen
- IDoc-Nachrichten
- SAP ECC
- SAP ERP
- SAP R/3
- SAP S/4HANA on-premise
- SAP JCo-Version.
Für diesen Connector müssen beim Erstellen der Verbindung zwei JCo-Dateien bereitgestellt werden:
sapjco3.jar
undlibsapjco3.so
(für Unix). Sie können die Version 3.1.5 von JCo auf der Website für SAP-Connectors herunterladen.
Wenn das SAP-System eine RFC-Verbindung unterstützt und die erforderlichen RFCs verfügbar sind, funktioniert die Verbindung zum SAP-System. Andere Versionen, die RFC-Verbindungen unterstützen, werden möglicherweise ebenfalls unterstützt.
SAP-Tabellen: SAP-Tabellen werden über die Verbindungseigenschaft „TableMode“ automatisch als Ansichten freigegeben. Geben Sie die SAP-Tabellen an, mit denen Sie arbeiten möchten, mit der Verbindungseigenschaft „Views“. Dadurch wird „TableMode“ überschrieben. SAP rät davon ab, die Tabellen direkt zu ändern. Stattdessen wird empfohlen, zum Ändern von tabellarischen Daten BAPIs 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 Schlüsselwort BAPI beginnen, als verfügbare gespeicherte Prozedur angezeigt.
IDoc: Zwischendokumenten (IDoc) sind SAP-Objekte, die Geschäftstransaktionsdaten in Form einer elektronischen Nachricht von einem System zum anderen übertragen. IDocs übertragen Daten von SAP in Nicht-SAP-Systeme über Electronic Data Interchange (EDI)-Systeme.
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:
- 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.
Connector konfigurieren
Für die Konfiguration des Connectors müssen Sie eine Verbindung zu Ihrer Datenquelle (Backend-System) erstellen. 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 aus der Drop-down-Liste der verfügbaren Connectors SAP ERP 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 ein Ereignisabo unterstützen, dürfen die Verbindungsnamen nicht mit „goog“ beginnen. .
- Geben Sie optional eine Beschreibung für die Verbindung ein.
- Aktivieren Sie optional Cloud Logging.
und wählen Sie dann eine Logebene aus. Standardmäßig ist die Logebene 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 Ereignisabo- als auch für Connector-Vorgänge (Entitäten und Aktionen) verwenden.
- Nur Ereignisabo aktivieren: Wählen Sie diese Option aus, wenn Sie die Verbindung nur für das Ereignisabo verwenden möchten. Wenn Sie diese Option auswählen, klicken Sie auf Weiter und dann auf Ereigniseintrag konfigurieren.
- Client: Der Client, der sich beim SAP-System authentifiziert.
- System Id: Die System-ID oder R3Name des SAP-Systems ist ein String mit maximal drei Zeichen. Sie wird häufig für Load Balancing-Verbindungen verwendet.
- Systemnummer: Die Nummer, mit der das Zielsystem definiert ist. 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.
- Jaco-JAR-Objekt-ID: Objekt-ID der JCo-JAR-Datei.
- libsapjco3-Objekt-ID: Objekt-ID der libsapjco3-JAR-Datei.
- Tabellenmodus: Wählen Sie die SAP-Tabelle aus, die als Ansicht angezeigt werden soll.
- SNC_LIB-Objekt-ID: Objekt-ID der SNC-Bibliothek.
- PSE-Name: Name der entsprechenden Personal Security Environment (PSE)-Datei für den Bucket. In einer PSE-Datei werden das öffentliche und der private Schlüsselpaar sowie die X.509-Zertifikate in einer ASN.1-Struktur gespeichert.
- Gruppe: Der Gruppenname für die Anmeldung. Dieser wird normalerweise angegeben, wenn Ihr SAP-System verwendet Load-Balancer.
- Nachrichtenserver: Name des Nachrichtenservers, der beim Herstellen einer Verbindung zu dem SAP-System verwendet werden soll, das Load-Balancer verwendet.
- Tabellenfunktion lesen: Name der Funktion, die zum Lesen von Tabellen verwendet werden soll. Weitere Informationen Weitere Informationen finden Sie unter Benutzerdefinierte Lesetabellenfunktion verwenden.
- Verbindungsschema: Wählen Sie ein Verbindungsschema aus, das für die Verbindung mit Ihrem SAP-System verwendet werden soll.
- System ID: Die System-ID oder der R3Name des SAP-Systems. Sie können maximal 3 Zeichen eingeben.
- SNC-Sicherheitscode: Wählen Sie das Secret Manager-Secret des SNC-Bibliotheks-Sicherheitscodes aus.
- Secret-Version: Wählen Sie die Secret-Version aus.
- SNC mode (SNC-Modus): Wählen Sie diese Option aus, um SNC für die Authentifizierung zwischen Integration Connectors und Ihrem SAP-System zu aktivieren.
- SNC-Name: Geben Sie einen Namen für die SNC-Verbindung ein.
-
SNC qop: Schutzniveau auswählen. Folgende Stufen werden unterstützt:
- 1: Nur Authentifizierung anwenden.
- 2: Integritätsschutz anwenden. Dazu gehört auch der Authentifizierungsschutz.
- 3 – Datenschutz anwenden. Dazu gehören auch Integrität und Authentifizierungsschutz.
- 8: Der Standardschutz wird angewendet.
- 9: Maximalschutz anwenden.
- SNC partner name (Name des SNC-Partners): Geben Sie den SNC-Namen des Anwendungsservers ein.
- Abfragemodus: Wählen Sie aus, welche SAP-Tabellen als Ansichten angezeigt werden sollen.
-
Ansichten zum Durchsuchen: Geben Sie eine durch Kommas getrennte Liste der anzuzeigenden Ansichten ein.
Beispiel:
ViewA,ViewB,ViewC
. - Ausführlichkeitsstufe: Geben Sie die Ausführlichkeitsstufe für die Protokollierung ein. Das unterstützte Werte zwischen 1 und 5 liegen. Ein höherer Wert bedeutet, dass mehr Details verfügbar sind in den Protokollen.
- Konfigurieren Sie optional die Einstellungen für den Verbindungsknoten:
- 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.
- Zieltyp: Wählen Sie einen Zieltyp aus.
- Wählen Sie aus der Liste Hostadresse aus, um den Hostnamen oder die IP-Adresse für das Ziel anzugeben.
- Wenn Sie eine private Verbindung zu Ihren Back-End-Systemen herstellen möchten, Wählen Sie in der Liste Endpunktanhang und dann den erforderlichen Endpunktanhang aus. aus der Liste Endpunktanhang aus.
Wenn Sie eine öffentliche Verbindung zu Ihren Back-End-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 bestimmten statischen IP-Adressen auf die Zulassungsliste gesetzt werden.
Wenn Sie weitere Reiseziele 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:
- 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 für Ereignisabonnements finden Sie unter Ereignisabos 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.
-
Nutzername und Passwort
- Nutzername: Nutzername für den Connector
- Password (Passwort): Secret Manager-Secret mit dem Passwort, das dem Connector.
Für Ereignisabos konfigurieren
Wenn Sie das Ereignisabo aktiviert haben, 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.
- API-Schlüsselauthentifizierung Wenn Sie diese Option auswählen, müssen Sie einen API-Schlüssel erstellt und dann als Secret Manager-Secret gespeichert haben. Weitere Informationen finden Sie unter API-Schlüssel erstellen.
-
Geben Sie den Feldnamen für den Ereignistyp ein. Dieses Feld ermittelt die Art des Ereignisses, das mit dem
eingehende Ereignisanfrage senden.
{ "event_type": "user.created", ... // other request fields ... }
- Wählen Sie Private Verbindung aktivieren für eine sichere Verbindung zwischen Ihrer Backend-Anwendung und Ihrer Verbindung aus. 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 Ereignisabonnements.
- Geben Sie die Konfiguration für den Postfach-Alias ein. Wenn Sie ein Dead-Letter-Thema konfigurieren, schreibt die Verbindung die nicht verarbeiteten Ereignisse in das angegebene Pub/Sub-Thema. Geben Sie die folgenden Informationen ein:
- Dead-Letter-Projekt-ID: Die Google Cloud-Projekt-ID, in der Sie das Dead-Letter-Pub/Sub-Thema 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 Verbindungskonfiguration
In den folgenden Abschnitten finden Sie Beispielwerte für die verschiedenen Felder beim Erstellen der SAP ERP-Verbindung und die für die verschiedenen Verbindungstypen erforderlichen Parameter.
Verbindung zu einem verteilten SAP-System herstellen
Wenn Sie eine Verbindung zu einem verteilten SAP-System herstellen, z. B. einem System mit Load-Balancing, müssen Sie die folgenden zusätzlichen Verbindungsattribute angeben. Ein Administrator kann diese Verbindungseigenschaften im SAP-System auf dem Tab „Verbindung“ im Dialogfeld „Systemeintragseigenschaften“ abrufen.
- System-ID: Geben Sie den Wert an, den Sie aus der Property „SystemId“ erhalten haben. Die System-ID ist die System-ID/R3Name des SAP-Systems. Die System-ID ist ein String mit maximal drei Zeichen.
- Message Server: Setzen Sie diese Eigenschaft auf den Wert, den Sie von der MessageServer-Eigenschaft erhalten haben. Wenn im Feld SAProuter ein Wert angegeben ist, stellen Sie den Wert im Feld SAProuter dem Wert des MessageServer-Verbindungsstringattributs voran. Die Property „MessageServer“ muss angegeben werden, wenn eine Verbindung zu einem SAP-System mit Load Balancing hergestellt wird.
- Gruppe: Setzen Sie diese Eigenschaft auf den Wert, den Sie aus der Eigenschaft Gruppe/Server erhalten haben. Die Eigenschaft Group 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. Administratoren können diese Verbindungseigenschaften aus dem SAP-System abrufen.
- System-ID: Geben Sie den Wert an, den Sie von der SystemId-Eigenschaft abgerufen 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-Routeradresse sein.
- Systemnummer: Geben Sie den Wert an, den Sie von der SystemNumber-Eigenschaft erhalten haben.
Mit der Eigenschaft SystemNumber wird das Zielsystem definiert.
Sichere Netzwerkverbindungen konfigurieren
Wenn der Administrator die sichere Netzwerkkommunikation (SNC) konfiguriert hat, müssen Sie die folgenden zusätzlichen Eigenschaften festlegen. Im SAP-System finden Sie die folgenden Eigenschaften von SNC-Verbindungsstrings auf dem Tab „Network“ des Dialogfelds „System Entry Properties“ (Systemeintragseigenschaften).
- SNC-Modus: Wenn die Option „Sichere Netzwerkverbindungen aktivieren“ aktiviert ist, setzen Sie das Verbindungsattribut "SNC Mode" auf "True". Andernfalls setzen Sie die Verbindungseigenschaft des SNC-Modus auf „False“.
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. Die SNCName-Eigenschaft gibt den Namen der SNC-Verbindung an. Legen Sie diese Eigenschaft fest, damit für die Verbindung der richtige SNC-Name verwendet wird.
- SNC Qop: Legen Sie für diese Eigenschaft die Option fest, die Sie im Bereich „Secure Network Settings“ (Sichere Netzwerkeinstellungen) ausgewählt haben. Wenn beispielsweise die Option „Integrität“ ausgewählt ist, legen Sie die SNCQop-Property auf „3“ fest.
Mit der SNCQop-Property wird das Datenschutzniveau festgelegt. Wenn diese Eigenschaft nicht angegeben ist, wird für diese Eigenschaft die Ganzzahl -1 festgelegt. Gültige Werte sind 1, 2, 3, 8 oder 9, die den Schutzniveaus entsprechen.
- Objekt-ID SNC_Lib: 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.
Typ der ApplicationServer-Verbindung
Für die Verbindung zum Anwendungsserver müssen Private Service Connect und Load-Balancer mit der SAP-System-IP-Adresse 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 Beispielkonfigurationswerte für den Verbindungstyp ApplicationServer
aufgeführt. Welche Felder Pflichtfelder und welche optional sind, sehen Sie in der Benutzeroberfläche zum Erstellen von Verbindungen in der Konsole.
Feldname | Beispielwert |
---|---|
Region | us-central1 |
Connector | SAP ERP |
Connector-Version | 1 |
Connector-Name | saperp-applicationserver-conn |
Beschreibung | – |
Dienstkonto | xxxxxxxxx-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 |
Verbindungsschema | ApplicationServer |
System-ID | SA1 |
Abfragemodus | – |
Blätterbare Ansichten | – |
Ausführlichkeit | 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 |
GroupServer-Verbindungstyp
Für die Load Balancing-/Gruppenserververbindung müssen Private Service Connect und der Load Balancer mit der IP-Adresse des SAP-Systems 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 Beispielkonfigurationswerte für den Verbindungstyp GroupServer
aufgeführt. Weitere Informationen finden Sie im
in der Konsole, um die erforderlichen und optionalen Felder zu sehen.
Feldname | Beispielwert |
---|---|
Region | us-central1 |
Connector | SAP ERP |
Connector-Version | 1 |
Connector-Name | saperp-GroupServer-conn |
Beschreibung | – |
Dienstkonto | xxxxxxxxx-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 |
Gruppe | Öffentlich |
Nachrichtenserver | 10.30.X.XX |
Tabellenfunktion lesen | Z_CUSTOM_READ_TABLE |
Verbindungsschema | GroupServer |
System-ID | SA1 |
Abfragemodus | – |
Blätterbare Ansichten | – |
Ausführlichkeit | 5 |
Mindestanzahl von Knoten | 2 |
Maximale Anzahl von Knoten | 50 |
Hostadresse | 10.30.X.XX oder Router-String des externen SAP-Systems. |
Authentifizierung | Nutzerpasswort |
Nutzername | 12345 |
Passwort | xyz@12345 |
Versionen | 1 |
X509-Zertifikatsverbindungstyp
Für Secure Network Communications (SNC) mit X509-Konnektivität müssen Private Service Connect und Load-Balancer mit der SAP-System-IP-Adresse 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 Pflichtfelder und welche optional sind, sehen Sie in der Konsole in der Benutzeroberfläche zum Erstellen von Verbindungen.
Feldname | Beispielwert |
---|---|
Region | us-central1 |
Connector | SAP ERP |
Connector-Version | 1 |
Connector-Name | saperp-X509Certificate-conn |
Beschreibung | – |
Dienstkonto | xxxxxxxxx-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 |
Verbindungsschema | ApplicationServer |
System-ID | SA1 |
SNC-Sicherheitscode | xyz@gcp |
SNC-Modus | Ein boolescher Wert, der angibt, ob Sie SNC verwenden. Legen Sie diesen Wert auf „wahr“ 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 | – |
Blätterbare Ansichten | – |
Ausführlichkeit | 5 |
Mindestanzahl von Knoten | 2 |
Maximale Anzahl von Knoten | 50 |
Hostadresse | 10.30.X.XX oder Router-String des externen SAP-Systems. |
Authentifizierung | X509Certificate-basierte Authentifizierung |
X509Certificate | Das X509-Zertifikat kann über einen Dateipfad angegeben werden, der auf eine Datei mit einem X509-Zertifikat im PEM-Format verweist, einen PEM-Blob, der mit der Kopfzeile „-----BEGIN ...“ beginnt, oder einen PEM-Blob ohne die Kopfzeile „-----BEGIN ...“. |
Versionen | 1 |
Systembeschränkungen
Der SAP ERP-Connector kann 7 Transaktionen pro Sekunde verarbeiten, pro Knoten, und throttles Transaktionen über diesen Grenzwert hinaus. Standardmäßig weist Integration Connectors einer Verbindung 2 Knoten zu (für bessere Verfügbarkeit).
Informationen zu den Limits für Integration Connectors finden Sie unter Limits.
SAP-ERP-Verbindung in einer Integration verwenden
Nachdem Sie die Verbindung erstellt haben, ist sie in beiden Apigee-Integration und Anwendungsintegration Sie können die Verbindung über die Connectors-Aufgabe in einer Integration.
- Informationen zum Erstellen und Verwenden der Connectors-Aufgabe in der Apigee-Integration finden Sie unter Connectors-Aufgabe.
- Informationen zum Erstellen und Verwenden der Connectors-Aufgabe in der Anwendungsintegration 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 keinen der Entitätsvorgänge unterstützt, werden diese nicht unterstützten Vorgänge nicht in der Liste
Operations
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 eine Ausgabe
. 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 eine Liste der vom Connector unterstützten Aktionen. Informationen zum Konfigurieren der Aktionen finden Sie unter Beispiele für Aktionen.
RFCs verwenden
Dieser Abschnitt enthält Informationen zu den erforderlichen RFCs und zur Verwendung der RFCs.
Erforderliche RFCs
Wenn eine der erforderlichen RFCs nicht verfügbar ist, funktionieren einige oder alle Funktionen möglicherweise nicht. Mit dem T-Code SE37 können Sie sich die verfügbaren Funktionsmodule in SAP ansehen.
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 Daten 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,
Sie können nicht mehr Spalten auswählen, als in diesen Puffer passen würden. Wenn Sie
mehr als 512 Byte enthält, tritt die Ausnahme DATA_BUFFER_EXCEEDED
auf
wenn du deine Integration durchführst. gibt an, dass Sie das Limit
Puffergröße pro Zeile zulässig und es müssen weniger Spalten ausgewählt werden.
Um dieses Problem zu beheben, können Sie den Code für eine
Custom RFC_READ_TABLE
, das SAP RFC_READ_TABLE
ähnelt, aber einen größeren Zwischenspeicher für die
DATA_BUFFER_EXCEEDED
Problem.
Benutzerdefinierte Funktion zum Lesen von Tabellen verwenden
Der Anschluss unterstützt eine Custom RFC_READ_TABLE
, die der SAP RFC_READ_TABLE
ähnelt, aber einen größeren Puffer hat, sodass das DATA_BUFFER_EXCEEDED
-Problem behoben werden kann.
Benutzerdefinierte RFC_READ_TABLE in Ihrem SAP-Backend erstellen
Führen Sie die folgenden Schritte aus, um das Beispiel für den benutzerdefinierten RFC_READ_TABLE zu verwenden.
- Verwenden Sie die
RFC_READ_TABLE
-Funktion als Vorlage für die neue Funktion: Wählen Sie den Transaktionscode SE37 aus und und kopieren SieRFC_READ_TABLE
in eine neue Funktionsgruppe oder Ihre funktionierende Funktionsgruppe. In diesem Beispiel wirdRFC_READ_TABLE
inZ_CUSTOM_RFC_TABLE
kopiert. - Wählen Sie auf der SAP-Seite auf dem Tab Attributes (Attribute) die Option Remote Enabled Module (Remote aktiviertes Modul) aus.
- Legen Sie auf dem Tab Tables (Tabellen) den Parameter
DATA
aufCHAR8000
fest. Möglicherweise müssen Sie dazu mit der rechten Maustaste klicken und dann auf Anzeigen -> Ändern klicken. - Geben Sie auf dem Tab Quellcode den benutzerdefinierten RFC-Code für die Lesetabelle ein. Weitere Informationen finden Sie unter Beispiel Z_CUSTOM_RFC_TABLE_function.txt.
- Klicken Sie auf Speichern.
- Definieren Sie die Importe, Tabellen und Ausnahmen wie in der bereitgestellten benutzerdefinierten Lesetabelle dokumentiert.
- Aktivieren Sie das Funktionsmodul.
Benutzerdefinierte Lesetabelle für ABAP 7.52
Wenn Sie ABAP 7.52 oder höher verwenden, sehen Sie sich das Beispiel Z_CUSTOM_RFC_TABLE_function_ABAP752.txt an.
Die Beispielfunktion ist für ABAP-Version 7.52 und höher konzipiert. Sie ähnelt der Funktion Z_CUSTOM_RFC_TABLE
, nutzt aber die neuen Schlüsselwörter in ABAP 7.52, um die Paginierung in der Datenbank statt im ABAP-Script selbst auszuführen. Dadurch wird die Paginierung wesentlich effizienter und die Leistung bei der Arbeit mit großen Tabellen verbessert. Es wird empfohlen, die Methode
Z_CUSTOM_RFC_TABLE_752 RFC
, wenn möglich.
Zugriff auf die Funktion RFC_READ_TABLE
In diesem Abschnitt finden Sie Informationen zur Rolle, die einem SAP-Nutzer für den Zugriff auf die Funktion „RFC_READ_TABLE“ zugewiesen werden muss. Diese Funktion ist ein remotefähiges Funktionsmodul, das einen generischen Lesezugriff auf beliebige Tabellen ermöglicht.
Damit die Tabellen beim Konfigurieren der SAP ERP-Connectors-Aufgabe unter Entitäten aufgelistet werden, müssen Sie die Funktion RFC_READ_TABLE auf der SAP ERP-Verbindungsebene verwenden und für den Zugriff auf die R/3-Funktion RFC_READ_TABLE autorisiert sein
Fügen Sie die Autorisierung S_TABU_DIS für die Aktivität 03 (Display) 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 Einträge 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 BAPI_MATERIAL_SAVEDATA-Aktion
Parametername | Datentyp | Erforderlich | Beschreibung |
---|---|---|---|
HEADDATA | String | Ja | Der Eingabeparameter HEADDATA. |
CLIENTDATA | String | Ja | Der Eingabeparameter CLIENTDATA. |
CLIENTDATAX | String | Ja | Der Eingabeparameter CLIENTDATAX. |
MATERIALBESCHREIBUNG | String | Ja | Die Tabelle MATERIALDESCRIPTION. |
Ausgabeparameter der Aktion BAPI_MATERIAL_SAVEDATA
Bei erfolgreicher Aktion wird der Status 200 (OK) zurückgegeben.
Ein Beispiel zum Konfigurieren der BAPI_MATERIAL_SAVEDATA
-Aktion finden Sie unter Beispiele für Aktionen.
Aktion „ZFM_GCP_MULTIDATA_TAB“
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, in der angegeben ist, welche Tabellen im Funktionsmodul ausgegeben werden sollen. Wenn nicht angegeben, werden alle zurückgegebenen Tabellen ausgegeben. |
T_TABLE | String | Ja | In der 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 Erfolg gibt diese Aktion den Status 200 (OK) zurück.
So konfigurieren Sie beispielsweise die Aktion ZFM_GCP_MULTIDATA_TAB
.
Siehe Aktionsbeispiele.
PushIDoc-Aktion
Mit dieser Aktion können Sie bestimmte Aufgaben ausführen. Beispielsweise können Sie Daten von SAP in ein externes System übertragen.
Eingabeparameter der Aktion „PushIDoc“
Parametername | Datentyp | Erforderlich | Beschreibung |
---|---|---|---|
FileType | String | Ja | Der Dateityp.Die zulässigen Werte sind XML, IDoc. |
Modus | String | Ja | Der Übertragungsmodus.Die zulässigen Werte sind Sync, ASync. |
Inhalt | String | Ja | Inhalt der Datei. |
Ausgabeparameter der Aktion „PushIDoc“
Bei Erfolg gibt diese Aktion den Status 200 (OK) zurück.
So konfigurieren Sie beispielsweise die Aktion PushIDoc
.
Siehe Aktionsbeispiele.
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.
- Wählen Sie beim Konfigurieren der Connector-Aufgabe als Typ 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 Bereich Task Input und führen Sie dann die folgenden Schritte aus:
- Geben Sie im Feld Zeitüberschreitung nach die Anzahl der Sekunden ein, die bis zur Ausführung der Abfrage gewartet werden soll.
Standardwert:
180
Sekunden. - Geben Sie im Feld Maximale Zeilenanzahl die maximale Anzahl von Zeilen ein, die von der Datenbank zurückgegeben werden sollen.
Standardwert:
25
. - Klicken Sie auf Benutzerdefiniertes Script bearbeiten, um die benutzerdefinierte Abfrage zu aktualisieren. Das Dialogfeld Skripteditor wird geöffnet.
- Geben Sie im Dialogfeld Skripteditor die SQL-Abfrage ein und klicken Sie auf Speichern.
Sie können in einer SQL-Anweisung ein Fragezeichen (?) für einen einzelnen Parameter verwenden, 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 mit den für die SpalteLastName
angegebenen Werten übereinstimmen:SELECT * FROM Employees where LastName=?
- Wenn Sie in Ihrer SQL-Abfrage Fragezeichen verwendet haben, müssen Sie den Parameter hinzufügen, indem Sie bei jedem Fragezeichen auf + Parameternamen hinzufügen klicken. Beim Ausführen der Integration ersetzen diese Parameter die Fragezeichen (?) in der SQL-Abfrage nacheinander. 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 Zeitüberschreitung nach die Anzahl der Sekunden ein, die bis zur Ausführung der Abfrage gewartet werden soll.
Bei erfolgreicher Ausführung gibt diese Aktion den Status 200 (OK) mit einem Antworttext mit den Abfrageergebnissen zurück.
Beispiele für Aktionen
Beispiel – Datensatz erstellen
In diesem Beispiel wird mit der Aktion BAPI_MATERIAL_SAVEDATA ein Materialdatensatz 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 das 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 war, hat der Antwortparameter connectorOutputPayload
der Aufgabe BAPI_MATERIAL_SAVEDATA
einen Wert, der in etwa so aussieht:
[{ "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 Materialeintrag 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 Abschnitt Task Input der Aufgabe Connectors auf
connectorInputPayload
und geben Sie dann einen Wert ähnlich dem folgenden in das Feld FeldDefault Value
:{ "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 war, hat der Antwortparameter connectorOutputPayload
der Aufgabe BAPI_MATERIAL_SAVEDATA
einen Wert, der in etwa so aussieht:
[{ "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 Abschnitt Task Input der Aufgabe Connectors auf
connectorInputPayload
und geben Sie dann einen Wert ähnlich dem folgenden in das Feld FeldDefault Value
:{ "HEADDATA": "{\"MATERIAL\":\"000000000000009000\",\"BASIC_VIEW\":\"X\"}", "CLIENTDATA": "{\"DEL_FLAG\":\"X\"}", "CLIENTDATAX": "{\"DEL_FLAG\":\"X\"}" }
Wenn die Aktion erfolgreich war, hat der Antwortparameter connectorOutputPayload
der Aufgabe BAPI_MATERIAL_SAVEDATA
einen Wert, der in etwa so aussieht:
[{ "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 mehrerer Datentypen erstellen
In diesem Beispiel werden Daten mit mehreren Datentypen mithilfe 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 Abschnitt Task Input der Aufgabe Connectors auf
connectorInputPayload
und geben Sie dann einen Wert ähnlich dem folgenden in das Feld FeldDefault Value
:{ "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,
connectorOutputPayload
-Antwort der Aufgabe von ZFM_GCP_MULTIDATA_TAB
hat einen Wert ähnlich dem folgenden:
[{ "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 gesendet.
- Klicken Sie im Dialogfeld
Configure connector task
aufActions
. - Wählen Sie die Aktion
PushIDoc
aus und klicken Sie auf Fertig. - Klicken Sie im Abschnitt Task Input der Aufgabe Connectors auf
connectorInputPayload
und geben Sie dann einen Wert ähnlich dem folgenden in das Feld FeldDefault Value
:{ "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
der Aufgabe PushIDoc
einen Wert, der in etwa so aussieht:
[{ "Result": "Success", "Message": "Push IDoc success" }]
Beispiele für Entitätsvorgänge
In diesem Abschnitt wird gezeigt, wie Sie einige Entitätsvorgänge in diesem Connector ausführen.
Beispiel: Alle Einträge auflisten
In diesem Beispiel werden alle Einträge in der Entität T001
aufgelistet.
- Klicken Sie im Dialogfeld
Configure connector task
aufEntities
. - Wähle
T001
aus derEntity
-Liste aus. - Wählen Sie den Vorgang
List
aus und klicken Sie auf Fertig. - Optional können Sie im Abschnitt Task Input der Aufgabe Connectors Sie können die Ergebnisse filtern, indem Sie eine Filterklausel festlegen. Geben Sie den Wert der Filterklausel immer in einfache Anführungszeichen (') ein.
Beispiel: Datensatz aus einer Entität abrufen
In diesem Beispiel wird ein Datensatz mit der angegebenen ID von der Entität T001
abgerufen.
- Klicken Sie im Dialogfeld
Configure connector task
aufEntities
. - Wähle
T001
aus derEntity
-Liste aus. - Wählen Sie den Vorgang
Get
aus und klicken Sie auf Fertig. - Klicken Sie im Bereich Task Input der Aufgabe Connectors auf EntityId und
Geben Sie dann
0001
in das Feld Default Value (Standardwert) ein.Hier ist
0001
eine eindeutige Eintrags-ID in der EntitätT001
.
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.
Eine Beispiel-Terraform-Vorlage für die Verbindungserstellung finden Sie unter Beispielvorlage.
Wenn Sie diese Verbindung mithilfe von Terraform erstellen, müssen Sie in der Terraform-Konfigurationsdatei die folgenden Variablen festlegen:
Parametername | Datentyp | Erforderlich | Beschreibung |
---|---|---|---|
Client | STRING | Wahr | Der Client, der sich beim SAP-System authentifiziert. |
Gruppe | STRING | Falsch | Die verwendete Anmeldegruppe. Dies muss normalerweise nur angegeben werden, wenn Sie eine Verbindung zu einem SAP-System herstellen, das Load-Balancing verwendet. |
message_server | STRING | Falsch | Der Nachrichtenserver muss angegeben werden, wenn eine Verbindung zu einem SAP-System mit Load-Balancing hergestellt wird. |
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 Nachrichtenserver (GroupServer) oder ohne einen (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 Load Balancing-Verbindungen verwendet. |
system_number | STRING | Wahr | Die Nummer, mit der das Zielsystem definiert ist. 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 | Objekt-ID für sapjco3.jar |
libsapjco3_so | STRING | Wahr | 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. Setzen Sie dies auf „true“, 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 Schutzebenen entsprechen: 1 Nur Authentifizierung anwenden. 2. Integritätsschutz (Authentifizierung) anwenden. 3. Ergreifen Sie Datenschutzmaßnahmen (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. Diese Eingabe ist erforderlich, wenn SNC verwendet wird. |
query_mode | ENUM | Falsch | Hiermit wird festgelegt, welche SAP-Tabellen als Ansichten angezeigt werden. Unterstützte Werte: „Global“, „Local“, „All“ (Alle) und „None“ (Kein) |
table_mode | ENUM | Falsch | Hiermit wird festgelegt, welche SAP-Tabellen als Ansichten angezeigt werden. Unterstützte Werte: TransparentApplication, TransparentCustomer, TransparentSystem, Pooled, Cluster, All, None |
Ausführlichkeit | STRING | Falsch | Detaillierungsgrad der 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 Ihr SAP-System lokal ist, müssen Sie einen Proxy-Load-Balancer mit hybrider NEG erstellen.
- Erstellen Sie einen IPsec-Tunnel zwischen dem On-Premise-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 die Verbindung 48XX SNC-X509. Dabei ist XX die System- oder Instanznummer des SAP-Systems. Fügen Sie die erforderliche IP-Adresse für die Firewall in die Zulassungsliste für den Google Cloud-Projekt-Ingress ein, z. B. die LB-IP und den LB-Port sowie die IP-Adresse und den Port des SAP-Systems.
- Konfigurieren Sie den regionalen internen Proxy-Network Load Balancer mithilfe einer Hybrid-NEG. Weitere Informationen finden Sie unter Regionaler interner Proxy-Netzwerk-Load-Balancer mit Hybrid-NEG-Konnektivität.
Wenn nach dem Einrichten der Netzwerkverbindung ein ähnlicher 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-Versionen. 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 der fast jeder Vorgang ausgeführt werden kann. Diese Module können über den T-Code SE37 in SAP getestet und geschrieben werden.
RFC: Ein Remote Function Call (RFC) ist ein Aufruf einer bestimmten RFM/FM, der von externen Anwendungen ausgeführt werden kann. Dazu gehört die Verwendung von von SAP vertriebenen Bibliotheken, die auf dem SAP-Server installiert sind und auch von sap.com heruntergeladen werden können. Bestimmte RFMs können über SAP-Upgrades hinweg beibehalten werden. Es gibt von SAP bereitgestellte Standard-RFMs, die sich in älteren Versionen möglicherweise unterscheiden oder nicht vorhanden sind. Benutzerdefinierte RFMs können (und werden häufig) zur Unterstützung von Integrationen erstellt und müssen vom SAP-Kunden verwaltet werden. Konventionsgemäß beginnen benutzerdefinierte RFMs mit dem Buchstaben Z.
BAPI:Eine Business API (BAPI) ist eine API-Methode eines Geschäftsobjekts. Sie ist intern ein RFC-fähiges Funktionsmodul von SAP, das Zugriff auf geschäftsstandortbasierte Vorgänge ermöglicht. Es gibt beispielsweise etwa 60 BAPIs, die sich ausschließlich auf das Kundenobjekt beziehen. In der Praxis werden in der Regel nur wenige davon verwendet.
SAP-Tabelle:Eine SAP-Tabelle ist eine Tabelle, die Daten in SAP speichert. Diese sind nicht mit Geschäftsobjekten identisch. In SAP gibt es beispielsweise keine Tabelle „Auftrag“. Stattdessen gibt es viele Tabellen, die Bestelldaten enthalten, z. B. EBAN, EBKN, EINA, EKPO usw. Benutzerdefinierte Tabellen beginnen nach Konvention mit dem Buchstaben Z.
SAP-Abfragen: Eine SAP-Abfrage ist ein in SAP gespeichertes Objekt, das Informationen enthält, die aus einer oder mehreren Tabellen abgerufen werden sollen. 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
- Informationen zum Anhalten und Fortsetzen einer Verbindung
- Informationen zum Überwachen der Connector-Nutzung
- Weitere Informationen zum Aufrufen von Connector-Logs