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 mithilfe der folgenden Methoden kommunizieren:

  • Business Application Programming Interface (BAPIs)
  • Remote Function Calls (RFCs)
  • SAP-Tabellen
  • SAP-Abfragen
  • IDoc-Nachrichten
Verbindungen zu den folgenden Diensten werden unterstützt:
  • 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 angegeben werden: sapjco3.jar und libsapjco3.so (für Unix). Sie können die Version 3.1.5 von JCo von 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. Möglicherweise werden auch andere Versionen unterstützt, die RFC-Verbindungen unterstützen.

Über den SAP ERP-Connector können Sie auf die folgenden SAP-Inhalte zugreifen:

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, mithilfe der Verbindungseigenschaft „Views“. 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 Geschäftstransaktionsdaten in Form einer elektronischen Nachricht von einem System in ein anderes übertragen. IDocs übertragen Daten über EDI-Systeme (Electronic Data Interchange) von SAP an Nicht-SAP-Systeme.

Weitere Informationen zu diesen Begriffen finden Sie im SAP-Glossar.

Hinweis

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 Ereignisabo aktivieren, müssen Sie das ABAP SDK konfigurieren. Informationen zum Konfigurieren des ABAP SDK finden Sie unter ABAP SDK for Google Cloud – Übersicht.

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:

  1. 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.

    Zur Seite „Verbindungen“

  2. Klicken Sie auf + NEU ERSTELLEN, um die Seite Verbindung erstellen zu öffnen.
  3. Wählen Sie im Abschnitt Standort den Standort für die Verbindung aus.
    1. Region: Wählen Sie einen Standort aus der Drop-down-Liste aus.

      Eine Liste aller unterstützten Regionen finden Sie unter Standorte.

    2. Klicken Sie auf Weiter.
  4. Führen Sie im Abschnitt Verbindungsdetails folgende Schritte aus:
    1. Connector: Wählen Sie SAP ERP aus der Drop-down-Liste der verfügbaren Connectors aus.
    2. Connector-Version: Wählen Sie die Connector-Version aus der Drop-down-Liste der verfügbaren Versionen aus.
    3. 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 Konnektoren, die Ereignisanmeldungen unterstützen, dürfen die Verbindungsnamen nicht mit dem Präfix „goog“ beginnen.
    4. Geben Sie optional unter Beschreibung eine Beschreibung für die Verbindung ein.
    5. Optional können Sie Cloud Logging aktivieren und dann eine Logebene auswählen. Die Logebene ist standardmäßig auf Error festgelegt.
    6. Dienstkonto: Wählen Sie ein Dienstkonto, das über die erforderlichen Rollen verfügt.
    7. 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 Ereignisabos als auch für Connector-Vorgänge (Entitäten und Aktionen) zu 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 Ereignisanmeldung konfigurieren.
    8. Client: Der Client, der sich beim SAP-System authentifiziert.
    9. System-ID: Die System-ID oder der R3Name des SAP-Systems ist ein String mit maximal drei Zeichen. Sie wird häufig in Verbindungen für den Load Balancing verwendet.
    10. Systemnummer: Die Nummer, mit der das Zielsystem definiert ist. Wird beim Festlegen der Hostverbindungseigenschaft verwendet.
    11. Projekt-ID: Die ID des Google Cloud-Projekts, in dem sich der GCS-Bucket mit dem SAP JCo-JAR befindet.
    12. Bucket: Der Name des Buckets, der die Dateien sapjco3.jar und libsapjco3.so enthält.
    13. Jaco-JAR-Objekt-ID: Objekt-ID des JCo-JAR-Objekts.
    14. libsapjco3-Objekt-ID: Objekt-ID der libsapjco3-JAR-Datei.
    15. Tabellenmodus: Wählen Sie die SAP-Tabelle aus, die als Ansicht angezeigt werden soll.
    16. Tabellenlesefunktion: Name der Funktion, die zum Lesen von Tabellen verwendet werden soll. Weitere Informationen finden Sie unter Benutzerdefinierte Funktion zum Lesen von Tabellen verwenden.
    17. System-ID: Die System-ID oder der R3Name des SAP-Systems. Sie können maximal drei Zeichen eingeben.
    18. Abfragemodus: Wählen Sie aus, welche SAP-Tabellen als Ansichten angezeigt werden sollen.
    19. Ansichten zum Durchsuchen: Geben Sie eine durch Kommas getrennte Liste der anzuzeigenden Ansichten ein. Beispiel: ViewA,ViewB,ViewC.
    20. Language (Sprache): Legen Sie für dieses Attribut die Sprache fest, die Sie bei der Anmeldung in SAP angeben. Diese Eigenschaft ist ein ISO 639-1-Code für die Sprache, die im SAP-System verwendet wird. Standardmäßig wird „EN“ verwendet.
    21. Diensteinträge: Die Diensteinträge, die für die Verbindung verwendet werden sollen.
    22. 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 öffentliche und private Schlüsselpaar sowie X.509-Zertifikate in einer ASN.1-Struktur gespeichert.
      • SNC-Sicherheitscode: Wählen Sie das Secret Manager-Secret des SNC-Bibliotheks-Sicherheitscodes 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 Authentifizierungsschutz.
        • 3: Datenschutzmaßnahmen ergreifen. Dazu gehören auch Integrität und Authentifizierungsschutz.
        • 8: Der Standardschutz wird angewendet.
        • 9: Maximalen Schutz anwenden.
      • SNC-Partnername: Geben Sie den SNC-Namen des Anwendungsservers ein.
    23. Verbindungsschema: Geben Sie an, ob Sie eine Verbindung zu einem SAP-System über einen Message Server (Gruppenserver) oder einen Anwendungsserver herstellen. Informationen zu den Voraussetzungen, die Sie erfüllen müssen, um eine Verbindung zu einem SAP-System über einen 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 (Gruppenserver) herstellen, müssen Sie die Hostadresse nicht im Abschnitt Ziele angeben.

    24. Optional: Konfigurieren Sie 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.

    25. Klicken Sie optional auf + LABEL HINZUFÜGEN, um der Verbindung ein Label in Form eines Schlüssel/Wert-Paars hinzuzufügen.
    26. Klicken Sie auf Weiter.
  5. 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.
    1. 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 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 Ziele eingeben möchten, klicken Sie auf + Ziel hinzufügen.

    2. Klicken Sie auf Weiter.
  6. Geben Sie im Abschnitt Authentifizierung die Authentifizierungsdetails ein.
    1. Wählen Sie einen Authentifizierungstyp aus und geben Sie die relevanten Details ein.

      Die folgenden Authentifizierungstypen werden von der SAP ERP-Verbindung unterstützt:

      • X509-Zertifikatbasierte Authentifizierung
      • Nutzername und Passwort
    2. Informationen zum Konfigurieren dieser Authentifizierungstypen finden Sie unter Authentifizierung konfigurieren.

    3. Klicken Sie auf Weiter.
  7. 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.
  8. Überprüfen: Prüfen Sie Ihre Verbindungs- und Authentifizierungsdetails.
  9. Klicken Sie auf Erstellen.

Authentifizierung konfigurieren

Geben Sie die Details basierend auf der zu verwendenden Authentifizierung ein.

  • X509Certificate-basierte 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 Ereignisabos konfigurieren

Wenn Sie das Ereignisabo 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:

  1. Wählen Sie einen der folgenden Authentifizierungstypen für den Ereignisempfänger aus.
  2. Geben Sie den Feldnamen für den Ereignistyp ein. In diesem Feld wird der Ereignistyp angegeben, der mit der eingehenden Ereignisanfrage verknüpft ist.
    {
    "event_type": "user.created",
    ...
    // other request fields
    ...
    }
  3. Wählen Sie Private Konnektivität 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.
  4. 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:
    1. Dead-Letter-Projekt-ID : Die Google Cloud-Projekt-ID, in der Sie das Dead-Letter-Pub/Sub-Thema konfiguriert haben.
    2. Dead-Letter-Thema : Das Pub/Sub-Thema, in das Sie die Details des nicht verarbeiteten Ereignisses schreiben möchten.

Beispiele für Verbindungskonfigurationen

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. zu einem System mit Load Balancing, müssen Sie die folgenden zusätzlichen Verbindungseigenschaften 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: Wenn Sie eine Verbindung zu einem SAP-System herstellen, das Load Balancing verwendet, müssen Sie das Feld „Message Server“ angeben. Legen Sie für diese Property den Wert fest, den Sie aus der Property „MessageServer“ im SAP-System erhalten haben. Fügen Sie außerdem dem Wert des Felds „Message Server“ den Wert des Felds „SAProuter“ voran.
  • Gruppe: Legen Sie für diese Eigenschaft den Wert fest, den Sie aus der Eigenschaft „Gruppe/Server“ erhalten haben. Mit der Property „Group“ wird die verwendete Anmeldegruppe angegeben. Der Standardwert ist PUBLIC.

Verbindung zu einem benutzerdefinierten Anwendungsserver herstellen

Wenn Sie eine Verbindung zu einem SAP-System über einen dedizierten oder 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 aus der Property „SystemId“ 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.

    Hier wird der Hostname des Zielsystems angegeben. Dieser Wert kann ein regulärer Hostname, eine IP-Adresse oder eine SAP-Routeradresse sein.

  • Systemnummer: Geben Sie den Wert an, den Sie aus der Property „SystemNumber“ erhalten haben.

    Mit der Eigenschaft „SystemNumber“ wird das Zielsystem definiert.

Sichere Netzwerkverbindungen konfigurieren

Wenn der Administrator die sichere Netzwerkkommunikation (Secure Network Communication, SNC) konfiguriert hat, müssen Sie die folgenden zusätzlichen Eigenschaften festlegen. Im SAP-System finden Sie die folgenden SNC-Verbindungsstring-Eigenschaften auf dem Tab „Netzwerk“ des Dialogfelds „Systemeintragseigenschaften“.

  • SNC-Modus: Wenn das Kästchen „Secure Network Connections (Sichere Netzwerkverbindungen) aktivieren“ in SAP aktiviert ist, setzen Sie das Verbindungsattribut „SNC-Modus“ auf „True“. Andernfalls legen Sie das Verbindungsattribut „SNC-Modus“ 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. Die SNCName-Eigenschaft gibt den Namen der SNC-Verbindung an. Legen Sie diese Property 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 Property nicht angegeben ist, wird für diese Property die Ganzzahl -1 festgelegt. Gültige Werte sind 1, 2, 3, 8 oder 9, die den Schutzniveaus entsprechen.

  • SNC_Lib-Objekt-ID: Legen Sie für diese Eigenschaft den Pfad und den 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 der Load Balancer mit der IP-Adresse des SAP-Systems und 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
Client 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

Verbindungstyp des Nachrichtenservers (Gruppenservers)

Bevor Sie eine Verbindung zu einem SAP-System mit einem Nachrichtenserver (Gruppenserver) 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 sein. Dabei ist XX die System- oder Instanznummer des verwendeten SAP-Systems.
  • Sie müssen eine DNS-Zone in Cloud DNS erstellen und den Endpunkt-Anhang 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 über einen Nachrichtenserver (Gruppenserver) herstellen, wenn der Nachrichtenserver die Adresse des voll qualifizierten Domainnamens (FQDN) des Anwendungsservers zurückgibt. Sie können keine Verbindung zu einem SAP-System mit einem Message Server (Gruppenserver) herstellen, wenn der Message Server die IP-Adresse zurückgibt.
  • Der Nachrichtenserver muss mit dem DNS der Anwendungsserver antworten, zu denen die Anwendung eine Verbindung herstellen muss, wenn die Anwendung dies anfordert.
  • Das DNS der Anwendungsserver muss eindeutig sein und darf von keinem anderen SAP-System verwendet werden.
  • In der SAP-Anwendung müssen die IP-Adressen der Endpunktanhänge für die Anwendungs- und Nachrichtenserver unter den Parametern „gw/alternative_hostnames“ verwaltet werden.
    1. Rufen Sie den T-Code RZ10 auf und machen Sie einen Eintrag für den Parameter „gw/alternative_hostname“ im Instanzprofil.
    2. Legen Sie den Wert für den Parameter „ms/lg_with_hostname“ auf „1“ fest. So wird sichergestellt, dass der Nachrichtenserver Anwendungsserver anhand von Hostnamen identifiziert und mit ihnen kommuniziert.
    3. Starten Sie die SAP-Anwendung neu, damit die Parameter wirksam werden.

In der folgenden Tabelle sind 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
Client 800
Systemnummer 00
Projekt-ID Google-cloud-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
Message-Server 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
Authentifizierung Nutzerpasswort
Nutzername NUTZERNAME
Passwort PASSWORT
Versionen 1

X509-Zertifikatsverbindungstyp

Für die sichere Netzwerkkommunikation (Secure Network Communications, SNC) mit X509-Verbindung müssen Private Service Connect und der Load Balancer mit der IP-Adresse des SAP-Systems und dem Port 48XX in der Netzwerk-Endpunktgruppe (Network Endpoint Group, 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 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
Client 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

Systemeinschränkungen

Der SAP ERP-Connector kann 7 Transaktionen pro Sekunde und pro Knoten verarbeiten. Transaktionen, die über dieses Limit hinausgehen, werden drosselt. Standardmäßig werden für eine Verbindung zwei Knoten (für eine bessere Verfügbarkeit) zugewiesen.

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 sowohl in Apigee Integration als auch in Application Integration verfügbar. Sie können die Verbindung über die Connectors-Aufgabe in einer Integration 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 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 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

Dieser Abschnitt enthält Informationen zu den erforderlichen RFCs und deren Verwendung.

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 ein Puffer erstellt werden. Daher können Sie nicht mehr Spalten auswählen, als in diesen Puffer passen. Wenn Sie mehr als 512 Byte auswählen, wird beim Ausführen der Integration die Ausnahme DATA_BUFFER_EXCEEDED ausgegeben. Sie weist darauf hin, dass Sie die maximale zulässige Puffergröße pro Zeile überschritten haben und weniger Spalten auswählen müssen.

Um dieses Problem zu beheben, kannst du den Code für eine Custom RFC_READ_TABLE einfügen. Diese ist der SAP RFC_READ_TABLE ähnlich, hat aber einen größeren Puffer, um das DATA_BUFFER_EXCEEDED-Problem zu beheben.

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 die Beispiel-RFC_READ_TABLE-Anfrage zu verwenden.

  1. Verwenden Sie die Funktion RFC_READ_TABLE als Vorlage für die neue Funktion: Wählen Sie den Transaktionscode SE37 und die Funktionsgruppe „SDTX“ aus und kopieren Sie RFC_READ_TABLE in eine neue Funktionsgruppe oder in die Arbeitsfunktionsgruppe. In diesem Beispiel wird RFC_READ_TABLE in Z_CUSTOM_RFC_TABLE kopiert.
  2. Wählen Sie auf der SAP-Seite auf dem Tab Attributes (Attribute) die Option Remote Enabled Module (Remote-fähiges Modul) aus.
  3. Legen Sie auf dem Tab Tables (Tabellen) den Parameter DATA auf CHAR8000 fest. Möglicherweise müssen Sie dazu mit der rechten Maustaste klicken und dann auf Display -> Ändern klicken.
  4. Geben Sie auf dem Tab Quellcode den benutzerdefinierten RFC-Code für die Lesetabelle ein. Weitere Informationen finden Sie in der Datei sample Z_CUSTOM_RFC_TABLE_function.txt.
  5. Klicken Sie auf Speichern.
  6. Definieren Sie die Importe, Tabellen und Ausnahmen wie in der bereitgestellten benutzerdefinierten Lesetabelle beschrieben.
  7. Aktivieren Sie das Funktionsmodul.

Benutzerdefinierte Lesetabelle für ABAP 7.52

Wenn Sie ABAP 7.52 oder höher verwenden, lesen Sie den Artikel 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 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, nach Möglichkeit die 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, damit er auf die Funktion „RFC_READ_TABLE“ zugreifen kann. Diese Funktion ist ein remotefähiges Funktionsmodul, das einen generischen Lesezugriff auf beliebige Tabellen ermöglicht.

Damit die Tabellen bei der Konfiguration der Aufgabe „SAP ERP-Connectors“ unter „Entitäten“ aufgeführt werden, müssen Sie die Funktion „RFC_READ_TABLE“ auf 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.
MATERIALDESCRIPTION String Ja Die Tabelle MATERIALDESCRIPTION.

Ausgabeparameter der Aktion BAPI_MATERIAL_SAVEDATA

Bei Erfolg gibt diese Aktion den Status 200 (OK) zurück.

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 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 Erfolg gibt diese Aktion den Status 200 (OK) zurück.

Ein Beispiel zum Konfigurieren 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 aus SAP in ein externes System übertragen.

Eingabeparameter der PushIDoc-Aktion

Parametername Datentyp Erforderlich Beschreibung
FileType String Ja Der Dateityp.Zulässige Werte sind „XML“ und „IDoc“.
Modus String Ja Der Übertragungsmodus.Zulässige Werte sind „Sync“ und „ASync“.
Inhalt String Ja Inhalt der Datei.

Ausgabeparameter der Aktion „PushIDoc“

Bei Erfolg gibt diese Aktion den Status 200 (OK) zurück.

Ein Beispiel zum Konfigurieren 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:

  1. Folgen Sie der detaillierten Anleitung zum Hinzufügen einer Connectors-Aufgabe.
  2. Wählen Sie beim Konfigurieren der Connector-Aufgabe als Aktionstyp Aktionen aus.
  3. Wählen Sie in der Liste Aktion die Option Benutzerdefinierte Abfrage ausführen aus und klicken Sie dann auf Fertig.

    Abbildung, die die Aktion „execute-custom-query“ zeigt Abbildung, die die Aktion „execute-custom-query“ zeigt

  4. Maximieren Sie den Bereich Aufgabeneingabe und gehen Sie so vor:
    1. Geben Sie im Feld Zeitlimit nach die Anzahl der Sekunden ein, die gewartet werden soll, bis die Abfrage ausgeführt wird.

      Standardwert: 180 Sekunden.

    2. Geben Sie im Feld Maximale Zeilenanzahl die maximale Anzahl von Zeilen ein, die aus der Datenbank zurückgegeben werden sollen.

      Standardwert: 25.

    3. Klicken Sie auf Benutzerdefiniertes Script bearbeiten, um die benutzerdefinierte Abfrage zu aktualisieren. Das Dialogfeld Skripteditor wird geöffnet.

      Bild mit benutzerdefinierter SQL-Abfrage Bild mit benutzerdefinierter SQL-Abfrage

    4. 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 Spalte LastName angegebenen Werten übereinstimmen:

      SELECT * FROM Employees where LastName=?

    5. Wenn Sie Fragezeichen in Ihrer SQL-Abfrage verwendet haben, müssen Sie den Parameter hinzufügen. Klicken Sie dazu für jedes Fragezeichen auf + Parameternamen hinzufügen. Bei der Ausführung der Integration ersetzen diese Parameter nacheinander die Fragezeichen (?) in der SQL-Abfrage. Wenn Sie beispielsweise drei Fragezeichen (?) hinzugefügt haben, müssen Sie drei Parameter in der richtigen Reihenfolge hinzufügen.

      Bild mit add-query-param Bild mit add-query-param

      So fügen Sie Abfrageparameter hinzu:

      1. Wählen Sie in der Liste Typ den Datentyp des Parameters aus.
      2. Geben Sie im Feld Wert den Wert des Parameters ein.
      3. Wenn Sie mehrere Parameter hinzufügen möchten, klicken Sie auf + Abfrageparameter hinzufügen.

Bei erfolgreicher Ausführung gibt diese Aktion den Status 200 (OK) mit einem Antworttext mit den Abfrageergebnissen zurück.

Beispiele für Aktionen

Beispiel: Eintrag erstellen

In diesem Beispiel wird mit der Aktion BAPI_MATERIAL_SAVEDATA ein Materialeintrag erstellt.

  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion BAPI_MATERIAL_SAVEDATA aus und klicken Sie auf Fertig.
  3. Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf connectorInputPayload und geben Sie dann einen Wert ähnlich dem folgenden in das Feld Default 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\"}"
    }
  4. 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.

  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion BAPI_MATERIAL_SAVEDATA aus und klicken Sie auf Fertig.
  3. Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf connectorInputPayload und geben Sie dann einen Wert ähnlich dem folgenden in das Feld Default 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\"}"
    }
  4. 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 Materialeintrag mit der Aktion BAPI_MATERIAL_SAVEDATA gelöscht.

  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion BAPI_MATERIAL_SAVEDATA aus und klicken Sie auf Fertig.
  3. Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf connectorInputPayload und geben Sie dann einen Wert ähnlich dem folgenden in das Feld Default Value ein:
    {
    "HEADDATA": "{\"MATERIAL\":\"000000000000009000\",\"BASIC_VIEW\":\"X\"}",
    "CLIENTDATA": "{\"DEL_FLAG\":\"X\"}",
    "CLIENTDATAX": "{\"DEL_FLAG\":\"X\"}"
    }
  4. 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 mit mehreren Datentypen erstellen

In diesem Beispiel werden Daten mit mehreren Datentypen mithilfe der Aktion „ZFM_GCP_MULTIDATA_TAB“ erstellt.

  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion ZFM_GCP_MULTIDATA_TAB aus und klicken Sie auf Fertig.
  3. Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf connectorInputPayload und geben Sie dann einen Wert ähnlich dem folgenden in das Feld Default 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\"}"
    }
  4. Wenn die Aktion erfolgreich war, hat der Antwortparameter connectorOutputPayload der Aufgabe ZFM_GCP_MULTIDATA_TAB einen Wert, der in etwa so aussieht:

    [{
    "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 senden

In diesem Beispiel wird ein IDoc an das SAP ERP gesendet.

  1. Klicken Sie im Dialogfeld Configure connector task auf Actions.
  2. Wählen Sie die Aktion PushIDoc aus und klicken Sie auf Fertig.
  3. Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf connectorInputPayload und geben Sie dann einen Wert ähnlich dem folgenden in das Feld Default 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"
    }
  4. 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 beschrieben, 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.

  1. Klicken Sie im Dialogfeld Configure connector task auf Entities.
  2. Wählen Sie in der Liste Entity die Option T001 aus.
  3. Wählen Sie den Vorgang List aus und klicken Sie auf Fertig.
  4. Optional können Sie im Bereich Aufgabeneingabe der Aufgabe Connectors einen Filter angeben, um den Ergebnissatz einzugrenzen. 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 aus der T001-Entität abgerufen.

  1. Klicken Sie im Dialogfeld Configure connector task auf Entities.
  2. Wählen Sie in der Liste Entity die Option T001 aus.
  3. Wählen Sie den Vorgang Get aus und klicken Sie auf Fertig.
  4. Klicken Sie im Bereich Aufgabeneingabe der Aufgabe Connectors auf EntityId und geben Sie dann 0001 in das Feld Standardwert ein.

    Hier ist 0001 eine eindeutige Datensatz-ID in der Entität T001.

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 zum Erstellen einer Verbindung finden Sie unter Beispielvorlage.

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 bei einer Verbindung zu einem SAP-System angegeben werden, 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 eine Verbindung zu einem SAP-System mit oder ohne Nachrichtenserver (GroupServer oder ApplicationServer) hergestellt wird. 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 in Verbindungen für den Load Balancing 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 dem SAP JCo-JAR-File 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 „wahr“ fest, um SNC zu verwenden.
snc_name STRING Falsch 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. Datenschutz (Integrität und Authentifizierung) anwenden. 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“ und „None“
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 On-Premise-Konfiguration von SAP

Wenn sich Ihr SAP-System lokal befindet, müssen Sie einen Proxy-Load Balancer mit Hybrid-NEG erstellen.

  1. Erstellen Sie einen IPsec-Tunnel zwischen dem On-Premise-System und Google Cloud mit zulässigen Subnetzen.
  2. Load Balancing-Subnetz und Proxy-Subnetz in lokalen Firewalls zulassen
  3. Fügen Sie alle erforderlichen Ports hinzu, z. B. 33XX für die Anwendungserververbindung, 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 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.
  4. Regionalen internen Proxy-Network Load Balancer mit Hybrid-NEG konfigurieren Weitere Informationen finden Sie unter Regionaler interner Proxy-Network Load Balancer mit Hybrid-NEG-Konnektivität.

Wenn nach der Einrichtung der Netzwerkverbindung ein Fehler auftritt, der der folgenden Meldung ähnelt, setzen Sie die IP-Adresse des Endpunkt-Anhangs mithilfe der folgenden Problemumgehung auf die Zulassungsliste.

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
Umgehung:Fügen Sie die IP-Adresse der Netzwerkendpunktanhänge des Connectors, die Sie in Google Cloud erstellt haben, unter gw/alternative_hostnames auf SAP-Profilebene hinzu.

SAP-Glossar

SAP:Der Begriff SAP ist ein Oberbegriff für alle unterstützten SAP-Versionen. Das bezieht sich in der Regel auf SAP ECC Version 6 oder höher. 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ören auch von SAP bereitgestellte Bibliotheken, die auf dem SAP-Server installiert sind und auch von sap.com heruntergeladen werden können. Bestimmte RFMs werden möglicherweise bei SAP-Upgrades beibehalten. Es gibt standardmäßige RFMs von SAP, 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. Benutzerdefinierte RFMs beginnen üblicherweise mit dem Buchstaben Z.

BAPI: Eine Business API (BAPI) ist eine API-Methode eines Geschäftsobjekts, das intern ein RFC-fähiges Funktionsmodul von SAP ist, um Zugriff auf Geschäftslogikvorgänge zu gewähren. 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. In SAP gibt es beispielsweise keine Tabelle „Auftrag“. Stattdessen gibt es viele Tabellen mit Bestelldaten, z. B. EBAN, EBKN, EINA und EKPO. Benutzerdefinierte Tabellen beginnen üblicherweise mit dem Buchstaben Z.

SAP-Abfragen: Eine SAP-Abfrage ist ein in SAP gespeichertes Objekt mit Informationen, 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