<ph type="x-smartling-placeholder"></ph> Weitere Informationen finden Sie unter Unterstützte 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: <ph type="x-smartling-placeholder">
      </ph>
    • Connectors-Administrator (roles/connectors.admin)
    • 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: <ph type="x-smartling-placeholder">
      </ph>
    • 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 Integrations (Integrationen).

      Auf der Seite Integrationsliste werden alle im Google Cloud-Projekt verfügbaren Integrationen aufgeführt.

    3. Wählen Sie eine vorhandene Integration aus oder klicken Sie auf Verknüpfung 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 Dienstkontodetails einer Integration jederzeit in der Symbolleiste der Verknüpfung im Bereich Zusammenfassung ä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 die 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-Ereignis-Trigger. Daher können Sie zum Konfigurieren des Triggers nur eine SAP ERP-Verbindung mit aktiviertem Ereignisabo verwenden.

    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: <ph type="x-smartling-placeholder">
        </ph>
      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 Connection Details (Verbindungsdetails) die folgenden Schritte aus: <ph type="x-smartling-placeholder">
        </ph>
      1. Connector: Wählen Sie aus der Drop-down-Liste der verfügbaren Connectors SAP ERP 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.
      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. Wird ausgewählt werden folgende Optionen angezeigt: <ph type="x-smartling-placeholder">
          </ph>
        • 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, um die Verbindung zu verwenden. nur für Ereignisabos. 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. Es wird häufig bei Load-Balancing-Verbindungen verwendet.
      10. Systemnummer: Die Zahl, durch die 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 der SAP JCo-JAR-Datei befindet.
      12. Bucket: Der Name des Buckets, der die Dateien sapjco3.jar und libsapjco3.so enthält.
      13. Jaco-JAR-Objekt-ID: Objekt-ID der JCo-JAR-Datei.
      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. Tabellenfunktion lesen: 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 mit 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 Sicherheitscodes der SNC-Bibliothek aus.
      24. Secret-Version: Wählen Sie die Secret-Version aus.
      25. SNC mode (SNC-Modus): Wählen Sie diese Option aus, um SNC für die Authentifizierung zwischen Application Integration 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: <ph type="x-smartling-placeholder">
          </ph>
        • 1: Nur Authentifizierung wird angewendet.
        • 2 – Integritätsschutz anwenden Dazu gehört auch der Authentifizierungsschutz.
        • 3 – Datenschutz anwenden. Dazu gehören auch Integritäts- 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: Wählen Sie aus, 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. Das unterstützte Werte zwischen 1 und 5 liegen. 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. Destination Type: Wählen Sie einen Destination Type 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. Um zu verstehen, Weitere Informationen zum Konfigurieren von Ereignisabos finden Sie im Hilfeartikel Ereignisabo 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 <ph type="x-smartling-placeholder">
        </ph>
      • Nutzername: Nutzername für den Connector
      • Password (Passwort): Secret Manager-Secret mit dem Passwort, das dem Connector.

    Für Ereignisabo 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 Event-Listener aus. <ph type="x-smartling-placeholder">
    2. 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
      ...
      }
    3. Select Enable private connectivity for secured connectivity between your backend application and your connection. If you select this option, you must perform additional configuration steps after creating the connection. For more information, see Private connectivity for event subscription.
    4. Enter the dead-letter configuration. If you configure dead-letter, the connection writes the unprocessed events to the specified Pub/Sub topic. Enter the following details:
      1. Dead-letter project ID: The Google Cloud project ID where you have configured the dead-letter Pub/Sub topic.
      2. Dead-letter topic: The Pub/Sub topic where you want to write the details of the unprocessed event.

    Use a custom read table function

    RFC_READ_TABLE

    The connector uses the SAP RFC_READ_TABLE function to get data from SAP tables.

    However, it has certain limitations. As an example, consider the DATA_BUFFER_EXCEEDED exception. The SAP RFC_READ_TABLE has a fixed size of 512 bytes. It can buffer for each row of data, and thus you cannot select more columns than the amount that would fit in this buffer. If you select more than 512 bytes, an exception occurs indicating that you have exceeded the maximum buffer size allowed per row and need to select fewer columns.

    RFC_READ_TABLE2

    The SAP ERP connector supports the RFC_READ_TABLE2 table read function. You can switch the active table read function to RFC_READ_TABLE2 by setting ReadTableFunction to /SAPDS/RFC_READ_TABLE2.

    Custom read table functions

    The connector includes a custom read-table RFC, Z_CUSTOM_READ_TABLE that is similar to the SAP RFC_READ_TABLE, but with a larger buffer to address the DATA_BUFFER_EXCEEDED problem and bypass RFC_READ_TABLE limitations.

    To use the included custom read-table RFC to bypass limitations with the default RFC_READ_TABLE, follow these steps:

    1. Use the RFC_READ_TABLE function as a template for the new function. Select transaction code SE37 and the SDTX function group and copy RFC_READ_TABLE to a new function group or your working function group. In this example, RFC_READ_TABLE is copied to Z_CUSTOM_READ_TABLE.
    2. On the Attributes tab of the SAP screen, select Remote Enabled Module.
    3. On the Tables tab, set the DATA parameter to CHAR8000. Right-click on the screen and then click Display -> Change.
    4. On the Source Code tab, paste the example source code for the replacement RFC_READ_TABLE function module located in the db subfolder of the installation directory. The code is located in Z_CUSTOM_READ_TABLE.txt, though Z_CUSTOM_READ_TABLE_752.txt is preferred if your SAP ERP instance is running ABAP version 7.52 or later.
    5. Click Save.
    6. Define the imports, tables, and exceptions as documented in the provided custom read table.
    7. Activate the function module and in your connection string set ReadTableFunction to Z_CUSTOM_READ_TABLE, or the name of your function module.

    The ABAP 7.52 Custom Read Table

    Along with Z_CUSTOM_READ_TABLE.txt, there is also a Z_CUSTOM_READ_TABLE_752.txt file, for ABAP version 7.52 and above. It is similar to Z_CUSTOM_READ_TABLE, but it takes advantage of the newly available keywords in ABAP 7.52 to perform paging within the database instead of in the ABAP script itself. This makes paging efficient when working with large tables.

    It is recommended to use the Z_CUSTOM_READ_TABLE_752 RFC.

    Configure authentication in SAP

    Configure the authentication in SAP by following the instructions in the Authentication overview for the on-premises or any cloud edition of ABAP SDK for Google Cloud guide.

    Validate the trigger

    To validate the trigger, you can create an ABAP program. The following is a sample ABAP program that you can use as a reference. The ls_event_payload field changes based on your requirements:

    *&---------------------------------------------------------------------*
    *& 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.