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.
- Connector-Administrator (
- 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.
- Aufrufer von Application Integration (
- Rufen Sie in der Google Cloud Console die Seite Application Integration auf.
- 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.
- 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:
- Geben Sie im Bereich Create Integration (Integration erstellen) einen Namen und eine Beschreibung ein.
- Wählen Sie eine Region für die Integration aus.
- 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.
- Klicken Sie auf Erstellen.
Dadurch wird die Integration auf der Seite Integrationseditor geöffnet.
- Klicken Sie in der Navigationsleiste des Integrationseditors auf Trigger, um eine Liste der verfügbaren Trigger aufzurufen.
- Klicken Sie auf das Element SAP ERP-Trigger und platzieren Sie es im Integrationseditor.
- Klicken Sie im Integrationseditor auf das Element SAP ERP-Trigger, um den Bereich mit der Triggerkonfiguration zu öffnen.
- Klicken Sie auf Trigger konfigurieren.
- Geben Sie auf der Seite Editor für Connector-Ereignistrigger die folgenden Konfigurationsdetails an:
- Region: Wählen Sie die Region Ihrer SAP ERP-Verbindung aus.
- 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.
- 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 ... }
- Dienstkonto: Wählen Sie ein Dienstkonto mit den erforderlichen IAM-Rollen für den SAP ERP-Trigger aus.
- Klicken Sie auf Fertig, um die Triggerkonfiguration abzuschließen und die Seite zu schließen.
- Klicken Sie im Integrationseditor auf das Element SAP ERP-Trigger, um den Bereich mit der Triggerkonfiguration zu öffnen.
- Klicken Sie auf Trigger konfigurieren.
- Überspringen Sie das Feld Region.
- Klicken Sie auf Verbindung und wählen Sie im Drop-down-Menü die Option Verbindung erstellen aus.
- Führen Sie im Abschnitt Verbindungsdetails folgende Schritte aus:
- Connector: Wählen Sie SAP ERP aus der Drop-down-Liste der verfügbaren Connectors aus.
- Connector-Version: Wählen Sie die Connector-Version aus der Drop-down-Liste der verfügbaren Versionen aus.
- Geben Sie im Feld Verbindungsname einen Namen für die Verbindungsinstanz ein.
Verbindungsnamen müssen die folgenden Kriterien erfüllen:
- Verbindungsnamen können Buchstaben, Ziffern oder Bindestriche enthalten.
- Buchstaben müssen Kleinbuchstaben sein.
- Verbindungsnamen müssen mit einem Buchstaben beginnen und mit einem Buchstaben oder einer Ziffer enden.
- Verbindungsnamen dürfen maximal 63 Zeichen haben.
- Geben Sie optional eine Beschreibung für die Verbindung ein.
- Aktivieren Sie optional Cloud Logging.
und wählen Sie dann eine Logebene aus. Die Logebene ist standardmäßig auf
Error
festgelegt. - Dienstkonto: Wählen Sie ein Dienstkonto, das über die erforderlichen Rollen verfügt.
- Wenn Sie die Verbindung für Ereignisabos verwenden möchten, wählen Sie Ereignisabo aktivieren aus. Wenn Sie diese Option auswählen, werden die folgenden Optionen angezeigt:
- Ereignisabo mit Entität und Aktionen aktivieren: Wählen Sie diese Option aus, um Die Verbindung 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.
- Client: Der Client, der sich beim SAP-System authentifiziert.
- System Id: Die System-ID oder R3Name des SAP-Systems ist ein String mit maximal drei Zeichen. Sie wird häufig in Verbindungen für den Load Balancing verwendet.
- Systemnummer: Die Nummer, mit der das Zielsystem definiert ist. Wird beim Festlegen der Eigenschaft „Hostverbindung“ verwendet.
- Projekt-ID: Die ID des Google Cloud-Projekts, in dem sich der GCS-Bucket mit dem SAP JCo-JAR befindet.
- Bucket: Der Name des Buckets, der die Dateien sapjco3.jar und libsapjco3.so enthält.
- Jaco-JAR-Objekt-ID: Objekt-ID des JCo-JAR-Objekts.
- libsapjco3-Objekt-ID: Objekt-ID der libsapjco3-JAR-Datei.
- Tabellenmodus: Wählen Sie die SAP-Tabelle aus, die als Ansicht angezeigt werden soll.
- SNC_LIB-Objekt-ID: Objekt-ID der SNC-Bibliothek.
- PSE-Name: Name der entsprechenden Personal Security Environment (PSE)-Datei für den Bucket. In einer PSE-Datei werden das öffentliche und der private Schlüsselpaar sowie die X.509-Zertifikate in einer ASN.1-Struktur gespeichert.
- Gruppe: Der Gruppenname für die Anmeldung. Dieser wird normalerweise angegeben, wenn Ihr SAP-System verwendet Load-Balancer.
- Nachrichtenserver: Name des Nachrichtenservers, der beim Herstellen einer Verbindung zu dem SAP-System verwendet werden soll, das Load-Balancer verwendet.
- Tabellenlesefunktion: Name der Funktion, die zum Lesen von Tabellen verwendet werden soll. Weitere Informationen Weitere Informationen finden Sie unter Benutzerdefinierte Lesetabellenfunktion verwenden.
- Verbindungsschema: Wählen Sie ein Verbindungsschema aus, das für die Verbindung zu Ihrem SAP-System verwendet werden soll.
- System-ID: Die System-ID oder der R3Name des SAP-Systems. Sie können maximal 3 Zeichen eingeben.
- SNC-Sicherheitscode: Wählen Sie das Secret Manager-Secret des SNC-Bibliotheks-Sicherheitscodes aus.
- Secret-Version: Wählen Sie die Secret-Version aus.
- SNC-Modus: Wählen Sie diese Option aus, um SNC für die Authentifizierung zwischen der Anwendungsintegration und Ihrem SAP-System zu aktivieren.
- SNC-Name: Geben Sie einen Namen für die SNC-Verbindung ein.
-
SNC qop: Schutzniveau auswählen. Folgende Stufen werden unterstützt:
- 1: Nur Authentifizierung anwenden.
- 2 – Integritätsschutz anwenden Dazu gehört auch der Authentifizierungsschutz.
- 3 – Datenschutz anwenden. Dazu gehören auch Integrität und Authentifizierungsschutz.
- 8: Standardschutz anwenden
- 9: Höchsten Schutz anwenden
- SNC partner name (Name des SNC-Partners): Geben Sie den SNC-Namen des Anwendungsservers ein.
- Abfragemodus: Hier können Sie auswählen, welche SAP-Tabellen als Ansichten angezeigt werden sollen.
-
Durchsuchbare Ansichten: Geben Sie eine durch Kommas getrennte Liste von Ansichten ein.
Beispiel:
ViewA,ViewB,ViewC
. - 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.
- Konfigurieren Sie optional die Einstellungen für den Verbindungsknoten:
- Mindestanzahl von Knoten: Geben Sie die Mindestanzahl von Verbindungsknoten ein.
- Maximale Anzahl von Knoten: Geben Sie die maximale Anzahl von Verbindungsknoten ein.
Ein Knoten ist eine Einheit (oder ein Replikat) einer Verbindung, die Transaktionen verarbeitet. Zur Verarbeitung von mehr Transaktionen für eine Verbindung sind mehr Knoten erforderlich. Umgekehrt sind weniger Knoten erforderlich, um weniger Transaktionen zu verarbeiten. Informationen zu den Auswirkungen der Knoten auf Ihre Connector-Preise finden Sie unter Preise für Verbindungsknoten. Wenn Sie keine Werte eingeben, ist die Mindestanzahl von Knoten standardmäßig auf 2 (für eine bessere Verfügbarkeit) und die maximale Knotenzahl auf 50 gesetzt.
- Klicken Sie optional auf + LABEL HINZUFÜGEN, um der Verbindung ein Label in Form eines Schlüssel/Wert-Paars hinzuzufügen.
- Klicken Sie auf Weiter.
- Geben Sie im Abschnitt Ziele die Details zum Remote-Host (Backend-System) ein, zu dem Sie eine Verbindung herstellen möchten.
- Zieltyp: Wählen Sie einen Zieltyp aus.
- Wählen Sie aus der Liste Hostadresse aus, um den Hostnamen oder die IP-Adresse für das Ziel anzugeben.
- Wenn Sie eine private Verbindung zu Ihren 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.
- Klicken Sie auf Weiter.
- Zieltyp: Wählen Sie einen Zieltyp aus.
-
Geben Sie im Abschnitt Authentifizierung die Authentifizierungsdetails ein.
- Wählen Sie einen Authentifizierungstyp aus und geben Sie die relevanten Details ein.
Die folgenden Authentifizierungstypen werden von der SAP ERP-Verbindung unterstützt:
- Nutzername und Passwort
- Klicken Sie auf Weiter.
Informationen zum Konfigurieren dieser Authentifizierungstypen finden Sie unter Authentifizierung konfigurieren.
- Wählen Sie einen Authentifizierungstyp aus und geben Sie die relevanten Details ein.
- Wenn Sie das Ereignisabo aktiviert haben, wird 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.
- Überprüfen: Prüfen Sie Ihre Verbindungs- und Authentifizierungsdetails.
- Klicken Sie auf Erstellen.
-
Nutzername und Passwort
- Nutzername: Nutzername für den Connector
- Password (Passwort): Secret Manager-Secret mit dem Passwort, das dem Connector.
-
Wählen Sie einen der folgenden Authentifizierungstypen für den Ereignisempfänger aus.
- Google-Authentifizierung. Wenn Sie diese Option aktivieren, befolgen Sie die Schritte unter Mit JSON Web Tokens authentifizieren um die Authentifizierung für das ABAP SDK zu konfigurieren. Stellen Sie außerdem sicher, dass das Dienstkonto roles/connectors.listener -Rolle, deren Zugriffstoken für die Authentifizierung verwendet wird.
- Authentifizierung von API-Schlüsseln Wenn Sie diese Option auswählen, müssen Sie einen API-Schlüssel erstellt und dann als Secret Manager-Secret gespeichert haben. Weitere Informationen finden Sie unter API-Schlüssel erstellen
-
Geben Sie den Feldnamen für den Ereignistyp ein. In diesem Feld wird der Ereignistyp angegeben, der mit der eingehenden Ereignisanfrage verknüpft ist.
{ "event_type": "user.created", ... // other request fields ... }
- 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.
- 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:
- Dead-Letter-Projekt-ID: Die Google Cloud-Projekt-ID, in der Sie das Dead-Letter-Pub/Sub-Thema konfiguriert haben.
- Dead-Letter-Thema: Das Pub/Sub-Thema, in das Sie die Details des nicht verarbeiteten Ereignisses schreiben möchten.
- Verwenden Sie die Funktion
RFC_READ_TABLE
als Vorlage für die neue Funktion. Wählen Sie den TransaktionscodeSE37
und die FunktionsgruppeSDTX
aus und kopieren SieRFC_READ_TABLE
in eine neue oder funktionierende Funktionsgruppe. In diesem Beispiel wirdRFC_READ_TABLE
inZ_CUSTOM_READ_TABLE
kopiert. - Wählen Sie auf dem Tab Attributes des SAP-Bildschirms
Remote Enabled Module
aus. - Legen Sie auf dem Tab Tables (Tabellen) den Parameter
DATA
aufCHAR8000
fest. Klicken Sie mit der rechten Maustaste auf den Bildschirm und dann auf Display -> Ändern. - Fügen Sie auf dem Tab Quellcode den Beispielquellcode für das Ersatzfunktionsmodul
RFC_READ_TABLE
ein, das sich im Unterordnerdb
des Installationsverzeichnisses befindet. Der Code befindet sich inZ_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. - Klicken Sie auf Speichern.
- Definieren Sie die Importe, Tabellen und Ausnahmen wie in der bereitgestellten benutzerdefinierten Lesetabelle beschrieben.
- Aktivieren Sie das Funktionsmodul und setzen Sie
ReadTableFunction
im Verbindungsstring aufZ_CUSTOM_READ_TABLE
oder den Namen Ihres Funktionsmoduls.
SAP ERP-Trigger hinzufügen
So fügen Sie Ihrer Integration einen SAP ERP-Trigger hinzu:
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:
SAP ERP-Trigger mit einer neuen Verbindung konfigurieren
Authentifizierung konfigurieren
Geben Sie die Details basierend auf der zu verwendenden Authentifizierung ein.
Für Ereignisabos konfigurieren
Wenn Sie das Ereignisabo aktiviert haben, geben Sie die folgenden Werte in das Feld Abschnitt Details zum Ereignisabo:
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:
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.