Informationen zu den unterstützten Connectors für Application Integration.

SAP ERP-Trigger

Der SAP ERP-Trigger ist ein Connector-Ereignis-Trigger, mit dem Sie SAP ERP-Daten einfügen, löschen, aktualisieren und lesen können.

Hinweise

  • Wenn Sie eine neue Verbindung für den SAP-ERP-Trigger erstellen oder konfigurieren möchten, benötigen Sie die folgende IAM-Rolle für das Projekt:
    • Connector-Administrator (roles/connectors.admin)
    • Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

  • Weisen Sie dem Dienstkonto, das Sie für den SAP ERP-Trigger verwenden möchten, die folgenden IAM-Rollen zu:
    • Aufrufer von Application Integration (roles/integrations.integrationInvoker)
    • Informationen zum Zuweisen von Rollen zu einem Dienstkonto finden Sie unter Zugriff auf Dienstkonten verwalten.

  • SAP ERP-Trigger hinzufügen

    So fügen Sie Ihrer Integration einen SAP ERP-Trigger hinzu:

    1. Rufen Sie in der Google Cloud Console die Seite Application Integration auf.

      Zu Application Integration

    2. Klicken Sie im Navigationsmenü auf Integrationen.

      Die Seite Liste der Integrationen wird angezeigt. Dort sind alle Integrationen aufgeführt, die im Google Cloud-Projekt verfügbar sind.

    3. Wählen Sie eine vorhandene Integration aus oder klicken Sie auf Integration erstellen, um eine neue zu erstellen.

      Wenn Sie eine neue Integration erstellen, gehen Sie so vor:

      1. Geben Sie im Bereich Create Integration (Integration erstellen) einen Namen und eine Beschreibung ein.
      2. Wählen Sie eine Region für die Integration aus.
      3. Wählen Sie ein Dienstkonto für die Integration aus. Sie können die Details des Dienstkontos einer Integration jederzeit im Bereich Integrationsübersicht in der Symbolleiste für Integrationen ändern oder aktualisieren.
      4. Klicken Sie auf Erstellen.

      Dadurch wird die Integration auf der Seite Integrationseditor geöffnet.

    4. Klicken Sie in der Navigationsleiste des Integrationseditors auf Trigger, um eine Liste der verfügbaren Trigger aufzurufen.
    5. Klicken Sie auf das Element SAP ERP-Trigger und platzieren Sie es im Integrationseditor.
    6. Zum Konfigurieren des SAP ERP-Triggers können Sie entweder eine vorhandene SAP ERP-Verbindung verwenden, die in Integration Connectors verfügbar ist, oder eine neue SAP ERP-Verbindung mit der Option zum Erstellen einer Inline-Verbindung erstellen.

    SAP ERP-Trigger mit einer vorhandenen Verbindung konfigurieren

    Der SAP-ERP-Trigger ist ein Connector-Ereignistrigger. Daher können Sie den Trigger nur mit einer SAP-ERP-Verbindung mit aktiviertem Ereignisabo konfigurieren.

    Informationen zum Konfigurieren eines SAP ERP-Triggers über eine neue SAP ERP-Verbindung finden Sie unter SAP ERP-Trigger mit einer neuen Verbindung konfigurieren.

    Führen Sie die folgenden Schritte aus, um einen SAP ERP-Trigger über eine vorhandene SAP ERP-Verbindung zu konfigurieren:

    1. Klicken Sie im Integrationseditor auf das Element SAP ERP-Trigger, um den Bereich mit der Triggerkonfiguration zu öffnen.
    2. Klicken Sie auf Trigger konfigurieren.
    3. Geben Sie auf der Seite Editor für Connector-Ereignistrigger die folgenden Konfigurationsdetails an:
      1. Region: Wählen Sie die Region Ihrer SAP ERP-Verbindung aus.
      2. Verbindung: Wählen Sie die SAP ERP-Verbindung aus, die Sie verwenden möchten.

        Application Integration zeigt nur die SAP ERP-Verbindungen an, die aktiv sind und für die ein Ereignisabo aktiviert ist.

      3. Geben Sie den Feldnamen für den Ereignistyp ein. In diesem Feld wird der Ereignistyp angegeben. die mit der eingehenden Ereignisanfrage verknüpft sind.
        {
            "event_type": "user.created",
            ...
            // other request fields
            ...
            }
      4. Dienstkonto: Wählen Sie ein Dienstkonto mit den erforderlichen IAM-Rollen für den SAP ERP-Trigger aus.
    4. Klicken Sie auf Fertig, um die Triggerkonfiguration abzuschließen und die Seite zu schließen.

    SAP ERP-Trigger mit einer neuen Verbindung konfigurieren

    1. Klicken Sie im Integrationseditor auf das Element SAP ERP-Trigger, um den Bereich mit der Triggerkonfiguration zu öffnen.
    2. Klicken Sie auf Trigger konfigurieren.
    3. Überspringen Sie das Feld Region.
    4. Klicken Sie auf Verbindung und wählen Sie im Drop-down-Menü die Option Verbindung erstellen aus.
    5. 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 63 Zeichen haben.
      4. Geben Sie optional eine Beschreibung für die Verbindung ein.
      5. Aktivieren Sie optional Cloud Logging. und wählen Sie dann eine Logebene aus. 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 wird sowohl für Ereignisabo- als auch für Connector-Vorgänge (Entitäten und Aktionen) verwendet.
        • 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 Ereignisabo konfigurieren.
      8. Client: Der Client, der sich beim SAP-System authentifiziert.
      9. System Id: Die System-ID oder 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 Eigenschaft „Hostverbindung“ 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. SNC_LIB-Objekt-ID: Objekt-ID der SNC-Bibliothek.
      17. 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.
      18. Gruppe: Der Gruppenname für die Anmeldung. Dieser wird normalerweise angegeben, wenn Ihr SAP-System verwendet Load-Balancer.
      19. Nachrichtenserver: Name des Nachrichtenservers, der beim Herstellen einer Verbindung zu dem SAP-System verwendet werden soll, das Load-Balancer verwendet.
      20. Tabellenlesefunktion: Name der Funktion, die zum Lesen von Tabellen verwendet werden soll. Weitere Informationen Weitere Informationen finden Sie unter Benutzerdefinierte Lesetabellenfunktion verwenden.
      21. Verbindungsschema: Wählen Sie ein Verbindungsschema aus, das für die Verbindung zu Ihrem SAP-System verwendet werden soll.
      22. System-ID: Die System-ID oder der R3Name des SAP-Systems. Sie können maximal 3 Zeichen eingeben.
      23. SNC-Sicherheitscode: Wählen Sie das Secret Manager-Secret des SNC-Bibliotheks-Sicherheitscodes aus.
      24. Secret-Version: Wählen Sie die Secret-Version aus.
      25. SNC-Modus: Wählen Sie diese Option aus, um SNC für die Authentifizierung zwischen der Anwendungsintegration und Ihrem SAP-System zu aktivieren.
      26. SNC-Name: Geben Sie einen Namen für die SNC-Verbindung ein.
      27. 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: Standardschutz anwenden
        • 9: Höchsten Schutz anwenden
      28. SNC partner name (Name des SNC-Partners): Geben Sie den SNC-Namen des Anwendungsservers ein.
      29. Abfragemodus: Hier können Sie auswählen, welche SAP-Tabellen als Ansichten angezeigt werden sollen.
      30. Durchsuchbare Ansichten: Geben Sie eine durch Kommas getrennte Liste von Ansichten ein. Beispiel: ViewA,ViewB,ViewC.
      31. Ausführlichkeitsstufe: Geben Sie die Ausführlichkeitsstufe für das Logging ein. Die unterstützten Werte sind 1 bis 5. Ein höherer Wert bedeutet, dass mehr Details verfügbar sind in den Protokollen.
      32. 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.

      33. Klicken Sie optional auf + LABEL HINZUFÜGEN, um der Verbindung ein Label in Form eines Schlüssel/Wert-Paars hinzuzufügen.
      34. Klicken Sie auf Weiter.
    6. Geben Sie im Abschnitt Ziele die Details zum Remote-Host (Backend-System) ein, zu dem Sie eine Verbindung herstellen möchten.
      1. 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 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 konfigurieren, um nur bestimmte statische IP-Adressen zuzulassen.

        Wenn Sie weitere Reiseziele eingeben möchten, klicken Sie auf + Ziel hinzufügen.

      2. Klicken Sie auf Weiter.
    7. 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:

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

      3. Klicken Sie auf Weiter.
    8. Wenn Sie das Ereignisabo aktiviert haben, wird der Abschnitt Event Subscription Details (Details zum Ereignisabo) auf der Seite zur Verbindungserstellung angezeigt. Informationen zum Konfigurieren von Details für Ereignisabonnements finden Sie unter Ereignisabos konfigurieren.
    9. Überprüfen: Prüfen Sie Ihre Verbindungs- und Authentifizierungsdetails.
    10. 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 die folgenden Werte in das Feld Abschnitt Details zum Ereignisabo:

    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 unzustellbare Nachrichten konfigurieren, schreibt die Verbindung die nicht verarbeiteten Ereignisse an 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.

    Benutzerdefinierte Funktion zum Lesen von Tabellen verwenden

    RFC_READ_TABLE

    Der Connector verwendet die SAP-Funktion RFC_READ_TABLE, um Daten aus SAP-Tabellen abzurufen.

    Es gibt jedoch gewisse Einschränkungen. Betrachten Sie als Beispiel die DATA_BUFFER_EXCEEDED Ausnahme. Die SAP-RFC_READ_TABLE hat eine feste Größe von 512 Byte. Es kann zwischen Datenzeile enthalten. Sie können daher nicht mehr Spalten als die Menge auswählen, in diesen Puffer passen. Wenn Sie mehr als 512 Byte auswählen, tritt eine Ausnahme auf. , dass Sie die maximal zulässige Puffergröße pro Zeile überschritten haben und um weniger Spalten auszuwählen.

    RFC_READ_TABLE2

    Der SAP ERP-Connector unterstützt die Tabellenlesefunktion RFC_READ_TABLE2. Sie können zwischen die aktive Tabellenlesefunktion auf RFC_READ_TABLE2 setzen, indem ReadTableFunction festgelegt wird an /SAPDS/RFC_READ_TABLE2.

    Benutzerdefinierte Lesetabellenfunktionen

    Der Connector enthält eine benutzerdefinierte Lesetabellen-RFC, Z_CUSTOM_READ_TABLE, die der SAP-RFC_READ_TABLE ähnelt, aber einen größeren Puffer hat, um das DATA_BUFFER_EXCEEDED-Problem zu beheben und RFC_READ_TABLE-Einschränkungen zu umgehen.

    So verwenden Sie den enthaltenen benutzerdefinierten RFC für schreibgeschützte Tabellen, um Einschränkungen mit dem standardmäßigen RFC_READ_TABLE zu umgehen:

    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 oder funktionierende Funktionsgruppe. In diesem Beispiel wird RFC_READ_TABLE in Z_CUSTOM_READ_TABLE kopiert.
    2. Wählen Sie auf dem Tab Attributes des SAP-Bildschirms Remote Enabled Module aus.
    3. Legen Sie auf dem Tab Tables (Tabellen) den Parameter DATA auf CHAR8000 fest. Klicken Sie mit der rechten Maustaste auf den Bildschirm und dann auf Display -> Ändern.
    4. Fügen Sie auf dem Tab Quellcode den Beispielquellcode für das Ersatzfunktionsmodul RFC_READ_TABLE ein, das sich im Unterordner db des Installationsverzeichnisses befindet. Der Code befindet sich in Z_CUSTOM_READ_TABLE.txt. Z_CUSTOM_READ_TABLE_752.txt wird jedoch bevorzugt, wenn auf Ihrer SAP ERP-Instanz ABAP 7.52 oder höher ausgeführt wird.
    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 und setzen Sie ReadTableFunction im Verbindungsstring auf Z_CUSTOM_READ_TABLE oder den Namen Ihres Funktionsmoduls.

    Benutzerdefinierte Lesetabelle für ABAP 7.52

    Neben Z_CUSTOM_READ_TABLE.txt gibt es für ABAP-Version 7.52 und höher auch eine Z_CUSTOM_READ_TABLE_752.txt-Datei. Es ähnelt Z_CUSTOM_READ_TABLE, nutzt aber die neuen Schlüsselwörter in ABAP 7.52, um die Paginierung innerhalb der Datenbank statt im ABAP-Script selbst auszuführen. Das macht das Auslagern bei der Arbeit mit großen Tabellen effizient.

    Es wird empfohlen, den RFC Z_CUSTOM_READ_TABLE_752 zu verwenden.

    Authentifizierung in SAP konfigurieren

    Konfigurieren Sie die Authentifizierung in SAP gemäß der Anleitung im Leitfaden Authentifizierung für die lokale oder eine beliebige Cloud-Version des ABAP SDK for Google Cloud.

    Trigger validieren

    Sie können ein ABAP-Programm erstellen, um den Trigger zu validieren. Im Folgenden finden Sie ein Beispiel für ein ABAP-Programm, das Sie als Referenz verwenden können. Das Feld ls_event_payload ändert sich je nach Ihren Anforderungen:

    *&---------------------------------------------------------------------*
    *& Report ZR_TEST_INT_CONNECTOR
    *&---------------------------------------------------------------------*
    *&
    *&---------------------------------------------------------------------*
    REPORT zr_test_int_connector.
    PARAMETERS: p_auth TYPE char1 RADIOBUTTON GROUP rbg1 USER-COMMAND uc DEFAULT 'X',
     p_apik TYPE char1 RADIOBUTTON GROUP rbg1.
    DATA:
     lv_p_projects_id TYPE string,
     lv_p_locations_id TYPE string,
     lv_p_connections_id TYPE string,
     ls_input TYPE /goog/cl_connectors_v1=>ty_103.
    TYPES: BEGIN OF event_payload,
     event_type TYPE string,
     event_id TYPE string,
     name TYPE string,
     org_id TYPE string,
     END OF event_payload.
    DATA: ls_event_payload TYPE event_payload.
    ls_event_payload = VALUE #(
     event_type = 'create-entity'
     event_id = '1'
     name = 'demo-org'
     org_id = 'SAP'
     ).
    TRY.
     IF p_Auth = abap_true.
     DATA(lv_client_key) = 'IC_DEMO_GOOGLE_AUTH'.
     lv_p_connections_id = 'conn-event-triggers-from-sap-erp'.
     ELSE.
     lv_client_key = 'IC_DEMO_GOOGLE_APIK'.
     lv_p_connections_id = 'conn-event-triggers-from-sap-erp-apik'.
     ENDIF.
    * Open HTTP Connection
     DATA(lo_client) = NEW /goog/cl_connectors_v1( iv_key_name = CONV #( lv_client_key ) ).
    * Populate relevant parameters
     lv_p_projects_id = lo_client->gv_project_id.
     lv_p_locations_id = 'us-central1'.
     GET REFERENCE OF ls_event_payload INTO ls_input-payload .
    * Call API method: connectors.projects.locations.connections.listenEvent
     CALL METHOD lo_client->listen_event_connections
     EXPORTING
    
    
    iv_p_projects_id = lv_p_projects_id
     iv_p_locations_id = lv_p_locations_id
     iv_p_connections_id = lv_p_connections_id
     is_input = ls_input
     IMPORTING
    * es_raw =
     es_output = DATA(ls_output)
     ev_ret_code = DATA(lv_ret_code)
     ev_err_text = DATA(lv_err_text)
     es_err_resp = DATA(ls_err_resp).
     IF lo_client->is_success( lv_ret_code ).
     MESSAGE 'Success' TYPE 'S'.
     ELSE.
     MESSAGE lv_err_text TYPE 'E'.
     ENDIF.
    * Close HTTP Connection
     lo_client->close( ).
     CATCH /goog/cx_sdk INTO DATA(lo_exception).
     MESSAGE lo_exception->get_text( ) TYPE 'E'.
    ENDTRY.
    

    Kontingente und Limits

    Weitere Informationen zu allen Kontingenten und Limits finden Sie unter Kontingente und Limits.

    Nächste Schritte