<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.
- Connectors-Administrator (
- 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.
- Aufrufer von Application Integration (
- Rufen Sie in der Google Cloud Console die Seite Application Integration auf.
- Klicken Sie im Navigationsmenü auf Integrations (Integrationen).
Auf der Seite Integrationsliste werden alle im Google Cloud-Projekt verfügbaren Integrationen aufgeführt.
- 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:
- 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 Dienstkontodetails einer Integration jederzeit in der Symbolleiste der Verknüpfung im Bereich Zusammenfassung ä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 die 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:
<ph type="x-smartling-placeholder">
- </ph>
- 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 Connection Details (Verbindungsdetails) die folgenden Schritte aus:
<ph type="x-smartling-placeholder">
- </ph>
- Connector: Wählen Sie aus der Drop-down-Liste der verfügbaren Connectors SAP ERP aus.
- Connector-Version: Wählen Sie die Connector-Version aus der Drop-down-Liste der verfügbaren Versionen aus.
- Geben Sie im Feld Verbindungsname einen Namen für die Verbindungsinstanz ein.
Verbindungsnamen müssen die folgenden Kriterien erfüllen:
- Verbindungsnamen können Buchstaben, Ziffern oder Bindestriche enthalten.
- Buchstaben müssen Kleinbuchstaben sein.
- Verbindungsnamen müssen mit einem Buchstaben beginnen und mit einem Buchstaben oder einer Ziffer enden.
- Verbindungsnamen dürfen maximal 63 Zeichen haben.
- Geben Sie optional eine Beschreibung für die Verbindung ein.
- Aktivieren Sie optional Cloud Logging.
- 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. 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.
- 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. Es wird häufig bei Load-Balancing-Verbindungen verwendet.
- Systemnummer: Die Zahl, durch die 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 der SAP JCo-JAR-Datei befindet.
- Bucket: Der Name des Buckets, der die Dateien sapjco3.jar und libsapjco3.so enthält.
- Jaco-JAR-Objekt-ID: Objekt-ID der JCo-JAR-Datei.
- libsapjco3-Objekt-ID: Objekt-ID der libsapjco3-JAR-Datei.
- Tabellenmodus: Wählen Sie die SAP-Tabelle aus, die als Ansicht angezeigt werden soll.
- SNC_LIB-Objekt-ID: Objekt-ID der SNC-Bibliothek.
- PSE-Name: Name der entsprechenden Personal Security Environment (PSE)-Datei für den Bucket. In einer PSE-Datei werden das öffentliche und der private Schlüsselpaar sowie die X.509-Zertifikate in einer ASN.1-Struktur gespeichert.
- Gruppe: Der Gruppenname für die Anmeldung. Dieser wird normalerweise angegeben, wenn Ihr SAP-System verwendet Load-Balancer.
- Nachrichtenserver: Name des Nachrichtenservers, der beim Herstellen einer Verbindung zu dem SAP-System verwendet werden soll, das Load-Balancer verwendet.
- Tabellenfunktion lesen: Name der Funktion, die zum Lesen von Tabellen verwendet werden soll. Weitere Informationen Weitere Informationen finden Sie unter Benutzerdefinierte Lesetabellenfunktion verwenden.
- Verbindungsschema: Wählen Sie ein Verbindungsschema aus, das für die Verbindung mit Ihrem SAP-System verwendet werden soll.
- System ID: Die System-ID oder der R3Name des SAP-Systems. Sie können maximal 3 Zeichen eingeben.
- SNC-Sicherheitscode: Wählen Sie das Secret Manager-Secret des Sicherheitscodes der SNC-Bibliothek aus.
- Secret-Version: Wählen Sie die Secret-Version aus.
- SNC mode (SNC-Modus): Wählen Sie diese Option aus, um SNC für die Authentifizierung zwischen Application Integration 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:
<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
- SNC partner name (Name des SNC-Partners): Geben Sie den SNC-Namen des Anwendungsservers ein.
- Abfragemodus: Wählen Sie aus, welche SAP-Tabellen als Ansichten angezeigt werden sollen.
-
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. Das unterstützte Werte zwischen 1 und 5 liegen. Ein höherer Wert bedeutet, dass mehr Details verfügbar sind in den Protokollen.
- Konfigurieren Sie optional die Einstellungen für den Verbindungsknoten:
- Mindestanzahl von Knoten: Geben Sie die Mindestanzahl von Verbindungsknoten ein.
- Maximale Anzahl von Knoten: Geben Sie die maximale Anzahl von Verbindungsknoten ein.
Ein Knoten ist eine Einheit (oder ein Replikat) einer Verbindung, die Transaktionen verarbeitet. Zur Verarbeitung von mehr Transaktionen für eine Verbindung sind mehr Knoten erforderlich. Umgekehrt sind weniger Knoten erforderlich, um weniger Transaktionen zu verarbeiten. Informationen zu den Auswirkungen der Knoten auf Ihre Connector-Preise finden Sie unter Preise für Verbindungsknoten. Wenn Sie keine Werte eingeben, ist die Mindestanzahl von Knoten standardmäßig auf 2 (für eine bessere Verfügbarkeit) und die maximale Knotenzahl auf 50 gesetzt.
- Klicken Sie optional auf + LABEL HINZUFÜGEN, um der Verbindung ein Label in Form eines Schlüssel/Wert-Paars hinzuzufügen.
- Klicken Sie auf Weiter.
- Geben Sie im Abschnitt Ziele die Details zum Remote-Host (Backend-System) ein, zu dem Sie eine Verbindung herstellen möchten.
- 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.
- Klicken Sie auf Weiter.
- Destination Type: Wählen Sie einen Destination Type 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. Um zu verstehen, Weitere Informationen zum Konfigurieren von Ereignisabos finden Sie im Hilfeartikel Ereignisabo konfigurieren.
- Überprüfen: Prüfen Sie Ihre Verbindungs- und Authentifizierungsdetails.
- Klicken Sie auf Erstellen.
-
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.
-
Wählen Sie einen der folgenden Authentifizierungstypen für den Event-Listener aus.
<ph type="x-smartling-placeholder">
- 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.
- API-Schlüsselauthentifizierung Wenn Sie diese Option auswählen, sollten Sie einen API-Schlüssel erstellt und dann gespeichert haben als Secret Manager-Secret. Weitere Informationen finden Sie unter Erstellen Sie einen API-Schlüssel.
-
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 ... }
- 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.
- 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:
- Dead-letter project ID: The Google Cloud project ID where you have configured the dead-letter Pub/Sub topic.
- Dead-letter topic: The Pub/Sub topic where you want to write the details of the unprocessed event.
- Use the
RFC_READ_TABLE
function as a template for the new function. Select transaction codeSE37
and theSDTX
function group and copyRFC_READ_TABLE
to a new function group or your working function group. In this example,RFC_READ_TABLE
is copied toZ_CUSTOM_READ_TABLE
. - On the Attributes tab of the SAP screen, select
Remote Enabled Module
. - On the Tables tab, set the
DATA
parameter toCHAR8000
. Right-click on the screen and then click Display -> Change. - On the Source Code tab, paste the example source code for the replacement
RFC_READ_TABLE
function module located in thedb
subfolder of the installation directory. The code is located inZ_CUSTOM_READ_TABLE.txt
, thoughZ_CUSTOM_READ_TABLE_752.txt
is preferred if your SAP ERP instance is running ABAP version 7.52 or later. - Click Save.
- Define the imports, tables, and exceptions as documented in the provided custom read table.
- Activate the function module and in your connection string set
ReadTableFunction
toZ_CUSTOM_READ_TABLE
, or the name of your function module.
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-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:
SAP ERP-Trigger mit einer neuen Verbindung konfigurieren
Authentifizierung konfigurieren
Geben Sie die Details basierend auf der zu verwendenden Authentifizierung ein.
Für Ereignisabo konfigurieren
Wenn Sie das Ereignisabo aktiviert haben, geben Sie die folgenden Werte in das Feld Abschnitt Details zum Ereignisabo:
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:
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.