SAP ERP
Mit dem SAP ERP-Connector können Sie SAP ERP-Daten einfügen, löschen, aktualisieren und lesen.
Hinweise
Führen Sie die folgenden Aufgaben aus, bevor Sie den SAP ERP-Connector verwenden:
- In Ihrem Google Cloud-Projekt:
- Gewähren Sie dem Nutzer, der den Connector konfiguriert, die IAM-Rolle roles/connectors.admin.
- 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.
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:
- 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.
- Klicken Sie auf + NEU ERSTELLEN, um die Seite Verbindung erstellen zu öffnen.
-
Wählen Sie im Abschnitt Standort den Standort für die Verbindung aus.
- Region: Wählen Sie einen Standort aus der Drop-down-Liste aus.
Eine Liste aller unterstützten Regionen finden Sie unter Standorte.
- Klicken Sie auf Weiter.
- Region: Wählen Sie einen Standort aus der Drop-down-Liste aus.
- Führen Sie im Abschnitt Connection Details (Verbindungsdetails) die folgenden Schritte aus:
- 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. 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, um die Verbindung nur für Ereignisabos zu verwenden. Wenn Sie diese Option auswählen, klicken Sie auf Weiter und konfigurieren Sie das Ereignisabo.
- 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 Personal Security Environment (PSE)-Datei, die für den Bucket gilt. 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. Dies wird normalerweise angegeben, wenn Ihr SAP-System Load-Balancer verwendet.
- 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 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 Integration Connectors 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 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. Die unterstützten Werte liegen zwischen 1 und 5. Ein höherer Wert bedeutet, dass in den Logs mehr Details verfügbar sind.
- 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 so konfigurieren, dass nur bestimmte statische IP-Adressen auf die Zulassungsliste gesetzt werden.
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. Informationen zum Konfigurieren von Ereignisabodetails finden Sie unter Ereignisabo konfigurieren.
- Überprüfen: Prüfen Sie Ihre Verbindungs- und Authentifizierungsdetails.
- 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
- Passwort: Secret Manager-Secret mit dem Passwort, das dem Connector zugeordnet ist.
Für Ereignisabo konfigurieren
Wenn Sie das Ereignisabo aktiviert haben, geben Sie im Abschnitt Event Subscription Details (Details zum Ereignisabo) die folgenden Werte ein:
-
Wählen Sie einen der folgenden Authentifizierungstypen für den Event-Listener aus.
- Google-Authentifizierung. Wenn Sie diese Option aktivieren, folgen Sie den Schritten unter Mit JSON Web Tokens authentifizieren, um die Authentifizierung für das ABAP SDK zu konfigurieren. Sorgen Sie außerdem dafür, dass das Dienstkonto die Rolle roles/connectors.listener hat, 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 als Secret Manager-Secret gespeichert haben. Weitere Informationen finden Sie unter API-Schlüssel erstellen.
-
Geben Sie den Feldnamen für den Ereignistyp ein. Dieses Feld ermittelt den Ereignistyp, der mit der eingehenden Ereignisanfrage verknüpft ist.
{ "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.
Entities, operations, and actions
All the Integration Connectors provide a layer of abstraction for the objects of the connected application. You can access an application's objects only through this abstraction. The abstraction is exposed to you as entities, operations, and actions.
- Entity: An entity can be thought of as an object, or a collection of properties, in the
connected application or service. The definition of an entity differs from a connector to a
connector. For example, in a database connector, tables are the entities, in a
file server connector, folders are the entities, and in a messaging system connector,
queues are the entities.
However, it is possible that a connector doesn't support or have any entities, in which case the
Entities
list will be empty. - Operation: An operation is the activity that you can perform on an entity. You can perform
any of the following operations on an entity:
Selecting an entity from the available list, generates a list of operations available for the entity. For a detailed description of the operations, see the Connectors task's entity operations. However, if a connector doesn't support any of the entity operations, such unsupported operations aren't listed in the
Operations
list. - Action: An action is a first class function that is made available to the integration
through the connector interface. An action lets you make changes to an entity or entities, and
vary from connector to connector. Normally, an action will have some input parameters, and an output
parameter. However, it is possible
that a connector doesn't support any action, in which case the
Actions
list will be empty.
System limitations
The SAP ERP connector can process 7 transactions per second, per node, and throttles any transactions beyond this limit. By default, Integration Connectors allocates 2 nodes (for better availability) for a connection.
For information on the limits applicable to Integration Connectors, see Limits.
Connection configuration samples
This section lists the sample values for the various fields that you would configure when creating the connection.
ApplicationServer connection type
The following table lists the sample configuration values for the ApplicationServer
connection type. Refer to the
connection creation interface in the console to know the mandatory and optional fields.
Field name | Sample value |
---|---|
Region | us-central1 |
Connector | SAP ERP |
Connector Version | 1 |
Connector Name | saperp-applicationserver-conn |
Description | NA |
Service Account | xxxxxxxxx-compute@developer.gserviceaccount.com |
Client | 800 |
System Number | 00 |
Project ID | xxxx-gcp-project |
Bucket | sap-erp-bucket |
Jco Jar object ID | sapjco3.jar |
libsapjco3 object ID | libsapjco3.so |
Table Mode | TransparentApplication/TransparentCustomer/TransparentSystem/Pooled/Cluster/None |
Read Table Function | Z_CUSTOM_READ_TABLE |
Connection Scheme | ApplicationServer |
System Id | SA1 |
Query Mode | NA |
Browsable Views | NA |
Verbosity Level | 5 |
Minimum number of nodes | 2 |
Maximum number of nodes | 50 |
Host Address | 10.30.X.XX or Router string of an external SAP system. |
Authentication | User Password |
Username | 12345 |
Password | xyz@12345 |
versions | 1 |
GroupServer connection type
The following table lists the sample configuration values for the GroupServer
connection type. Refer to the
connection creation interface in the console to know the mandatory and optional fields.
Field name | Sample value |
---|---|
Region | us-central1 |
Connector | SAP ERP |
Connector Version | 1 |
Connector Name | saperp-GroupServer-conn |
Description | NA |
Service Account | xxxxxxxxx-compute@developer.gserviceaccount.com |
Client | 800 |
System Number | 00 |
Project ID | xxxx-gcp-project |
Bucket | sap-erp-bucket |
Jco Jar object ID | sapjco3.jar |
libsapjco3 object ID | libsapjco3.so |
Table Mode | TransparentApplication/TransparentCustomer/TransparentSystem/Pooled/Cluster/None |
Group | PUBLIC |
Message Server | 10.30.X.XX |
Read Table Function | Z_CUSTOM_READ_TABLE |
Connection Scheme | GroupServer |
System Id | SA1 |
Query Mode | NA |
Browsable Views | NA |
Verbosity Level | 5 |
Minimum number of nodes | 2 |
Maximum number of nodes | 50 |
Host Address | 10.30.X.XX or Router String of External SAP System. |
Authentication | User Password |
Username | 12345 |
Password | xyz@12345 |
versions | 1 |
X509 certificate connection type
The following table lists the sample configuration values for the X509 certificate
connection type. Refer to the
connection creation interface in the console to know the mandatory and optional fields.
Field name | Sample value |
---|---|
Region | us-central1 |
Connector | SAP ERP |
Connector Version | 1 |
Connector Name | saperp-X509Certificate-conn |
Description | NA |
Service Account | xxxxxxxxx-compute@developer.gserviceaccount.com |
Client | 800 |
System Number | 00 |
Project ID | xxxx-gcp-project |
Bucket | sap-erp-bucket |
Jco Jar object ID | sapjco3.jar |
libsapjco3 object ID | libsapjco3.so |
Table Mode | TransparentApplication/TransparentCustomer/TransparentSystem/Pooled/Cluster/None |
SNC_LIB object ID | libsapcrypto.so |
PSE Name to create cred_v2 file | EHP8_GCP_SA1.pse |
Read Table Function | Z_CUSTOM_READ_TABLE |
Connection Scheme | ApplicationServer |
System Id | SA1 |
SNC passcode | xyz@gcp |
SNC Mode | A boolean determining if you are using SNC. Set this to true to use SNC. |
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 |
Query Mode | NA |
Browsable Views | NA |
Verbosity Level | 5 |
Minimum number of nodes | 2 |
Maximum number of nodes | 50 |
Host Address | 10.30.X.XX or Router String of External SAP System. |
Authentication | X509Certificate Based Authentication |
X509Certificate | The X509 certificate may be specified using a file path pointing to a file containing an X509 certificate in PEM format, a PEM blob beginning with the "-----BEGIN ..." header, or a PEM blob without the "-----BEGIN ..." header. |
versions | 1 |
Actions
This section lists the actions supported by the connector. To understand how to configure the actions, see Action examples.
BAPI_MATERIAL_SAVEDATA action
This action let you perform specific tasks. For example, you can use it to create or change material master data in SAP ERP.
Input parameters of the BAPI_MATERIAL_SAVEDATA action
Parameter Name | Data Type | Required | Description |
---|---|---|---|
HEADDATA | String | Yes | The input parameter HEADDATA. |
CLIENTDATA | String | Yes | The input parameter CLIENTDATA. |
CLIENTDATAX | String | Yes | The input parameter CLIENTDATAX. |
MATERIALDESCRIPTION | String | Yes | The table MATERIALDESCRIPTION. |
Output parameters of the BAPI_MATERIAL_SAVEDATA action
This action returns the status 200 (OK) if the action is successful.
For example on how to configure the BAPI_MATERIAL_SAVEDATA
action, see Action examples.
ZFM_GCP_MULTIDATA_TAB action
This action let users perform specific tasks. For example, you can create multi datatype data in SAP ERP.
Input parameters of the ZFM_GCP_MULTIDATA_TAB action
Parameter Name | Data Type | Required | Description |
---|---|---|---|
ReturnTables | String | Yes | A comma separated list that specifies which tables in the function module should be output. If not specified, all returned tables will be output. |
T_TABLE | String | Yes | The table T_TABLE. |
IM_INPUT_1 | String | Yes | The input parameter IM_INPUT_1. |
IM_INPUT_2 | String | Yes | The input parameter IM_INPUT_2. |
Output parameters of the ZFM_GCP_MULTIDATA_TAB action
This action returns the status 200 (OK) if the action is successful.
For example on how to configure the ZFM_GCP_MULTIDATA_TAB
action,
see Action examples.
PushIDoc Action
This action let you perform specific tasks. For example, you can transfer data from SAP to an external system.
Input parameters of the PushIDoc action
Parameter Name | Data Type | Required | Description |
---|---|---|---|
FileType | String | Yes | The file type.The allowed values are XML, IDoc. |
Mode | String | Yes | The transfer mode.The allowed values are Sync, ASync. |
Content | String | Yes | Content of the file. |
Output parameters of the PushIDoc action
This action returns the status 200 (OK) if the action is successful.
For example on how to configure the PushIDoc
action,
see Action examples.
ExecuteCustomQuery action
This action lets you execute a custom query.
To create a custom query, follow these steps:
- Follow the detailed instructions to add a connectors task.
- When you configure the connector task, in the type of action you want to perform, select Actions.
- In the Action list, select Execute custom query, and then click Done.
- Expand the Task input section, and then do the following:
- In the Timeout after field, enter the number of seconds to wait till the query executes.
Default value:
180
seconds. - In the Maximum number of rows field, enter the maximum number of rows to be returned from the database.
Default value:
25
. - To update the custom query, click Edit Custom Script. The Script editor dialog opens.
- In the Script editor dialog, enter the SQL query and click Save.
You can use a question mark (?) in a SQL statement to represent a single parameter that must be specified in the query parameters list. For example, the following SQL query selects all rows from the
Employees
table that matches the values specified for theLastName
column:SELECT * FROM Employees where LastName=?
- Wenn Sie in Ihrer SQL-Abfrage Fragezeichen verwendet haben, müssen Sie den Parameter hinzufügen, indem Sie bei jedem Fragezeichen auf + Parameternamen hinzufügen klicken. Beim Ausführen der Integration ersetzen diese Parameter die Fragezeichen (?) in der SQL-Abfrage nacheinander. Wenn Sie beispielsweise drei Fragezeichen (?) hinzugefügt haben, müssen Sie drei Parameter in der richtigen Reihenfolge hinzufügen.
So fügen Sie Abfrageparameter hinzu:
- Wählen Sie in der Liste Typ den Datentyp des Parameters aus.
- Geben Sie im Feld Wert den Wert des Parameters ein.
- Wenn Sie mehrere Parameter hinzufügen möchten, klicken Sie auf + Suchparameter hinzufügen.
Bei erfolgreicher Ausführung gibt diese Aktion den Status 200 (OK) mit einem Antworttext mit den Abfrageergebnissen zurück.
- In the Timeout after field, enter the number of seconds to wait till the query executes.
Aktionsbeispiele
Beispiel – Datensatz erstellen
In diesem Beispiel wird mit der Aktion BAPI_MATERIAL_SAVEDATA ein metrialer Datensatz erstellt.
- Klicken Sie im Dialogfeld
Configure connector task
aufActions
. - Wählen Sie die Aktion
BAPI_MATERIAL_SAVEDATA
aus und klicken Sie auf Fertig. - Klicken Sie im Bereich Task Input der Aufgabe Connectors auf
connectorInputPayload
und geben Sie dann in das FeldDefault Value
einen Wert wie den folgenden 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\"}" }
Wenn die Aktion erfolgreich ist, 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 metrialer Datensatz mithilfe der Aktion BAPI_MATERIAL_SAVEDATA aktualisiert.
- Klicken Sie im Dialogfeld
Configure connector task
aufActions
. - Wählen Sie die Aktion
BAPI_MATERIAL_SAVEDATA
aus und klicken Sie auf Fertig. - Klicken Sie im Bereich Task Input der Aufgabe Connectors auf
connectorInputPayload
und geben Sie dann in das FeldDefault Value
einen Wert wie den folgenden 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\"}" }
Wenn die Aktion erfolgreich ist, hat der Antwortparameter connectorOutputPayload
der Aufgabe BAPI_MATERIAL_SAVEDATA
einen Wert ähnlich dem folgenden:
[{ "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 – Datensatz löschen
In diesem Beispiel wird ein metrialer Datensatz mithilfe der Aktion BAPI_MATERIAL_SAVEDATA gelöscht.
- Klicken Sie im Dialogfeld
Configure connector task
aufActions
. - Wählen Sie die Aktion
BAPI_MATERIAL_SAVEDATA
aus und klicken Sie auf Fertig. - Klicken Sie im Bereich Task Input der Aufgabe Connectors auf
connectorInputPayload
und geben Sie dann in das FeldDefault Value
einen Wert wie den folgenden ein:{ "HEADDATA": "{\"MATERIAL\":\"000000000000009000\",\"BASIC_VIEW\":\"X\"}", "CLIENTDATA": "{\"DEL_FLAG\":\"X\"}", "CLIENTDATAX": "{\"DEL_FLAG\":\"X\"}" }
Wenn die Aktion erfolgreich ist, hat der Antwortparameter connectorOutputPayload
der Aufgabe BAPI_MATERIAL_SAVEDATA
einen Wert ähnlich dem folgenden:
[{ "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 mehrerer Datentypen erstellen
In diesem Beispiel werden Daten mit mehreren Datentypen mithilfe der Aktion ZFM_GCP_MULTIDATA_TAB erstellt.
- Klicken Sie im Dialogfeld
Configure connector task
aufActions
. - Wählen Sie die Aktion
ZFM_GCP_MULTIDATA_TAB
aus und klicken Sie auf Fertig. - Klicken Sie im Bereich Task Input der Aufgabe Connectors auf
connectorInputPayload
und geben Sie dann in das FeldDefault Value
einen Wert wie den folgenden 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\"}" }
Wenn die Aktion erfolgreich ist, hat der Antwortparameter connectorOutputPayload
der Aufgabe ZFM_GCP_MULTIDATA_TAB
einen Wert ähnlich dem folgenden:
[{ "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 übertragen
In diesem Beispiel wird ein IDoc an SAP ERP gesendet.
- Klicken Sie im Dialogfeld
Configure connector task
aufActions
. - Wählen Sie die Aktion
PushIDoc
aus und klicken Sie auf Fertig. - Klicken Sie im Bereich Task Input der Aufgabe Connectors auf
connectorInputPayload
und geben Sie dann in das FeldDefault Value
einen Wert wie den folgenden 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" }
Wenn die Aktion erfolgreich ist, hat der Antwortparameter connectorOutputPayload
der Aufgabe PushIDoc
einen Wert wie diesen:
[{ "Result": "Success", "Message": "Push IDoc success" }]
Beispiele für Entitätsvorgänge
In diesem Abschnitt wird gezeigt, wie Sie einige Entitätsvorgänge in diesem Connector ausführen.
Beispiel – Alle Einträge auflisten
In diesem Beispiel werden alle Datensätze in der Entität T001
aufgelistet.
- Klicken Sie im Dialogfeld
Configure connector task
aufEntities
. - Wähle
T001
aus derEntity
-Liste aus. - Wählen Sie den Vorgang
List
aus und klicken Sie dann auf Fertig. - Optional können Sie im Bereich Aufgabeneingabe der Aufgabe Connectors die Ergebnisse filtern, indem Sie eine Filterklausel angeben. Geben Sie den Wert der Filterklausel immer in einfachen Anführungszeichen (') an.
Beispiel – Datensatz aus einer Entität abrufen
In diesem Beispiel wird ein Datensatz mit der angegebenen ID von der Entität T001
abgerufen.
- Klicken Sie im Dialogfeld
Configure connector task
aufEntities
. - Wähle
T001
aus derEntity
-Liste aus. - Wählen Sie den Vorgang
Get
aus und klicken Sie dann auf Fertig. - Klicken Sie im Bereich Task Input der Aufgabe Connectors auf EntityId und geben Sie dann
0001
in das Feld Default Value (Standardwert) ein.Hier ist
0001
eine eindeutige Eintrags-ID in der EntitätT001
.
Große Datenmengen lesen
Oft muss der SAP ERP-Connector möglicherweise große Daten aus Ihrem SAP-Back-End lesen. In diesem Abschnitt wird der Ansatz zum Lesen großer Daten beschrieben.
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 gepuffert werden, d. h., Sie können nicht mehr Spalten auswählen, als in diesen Zwischenspeicher passen würden. Wenn Sie mehr als 512 Byte auswählen, tritt beim Ausführen der Integration die Ausnahme DATA_BUFFER_EXCEEDED
auf. Sie gibt an, dass Sie die maximal zulässige Puffergröße pro Zeile überschritten haben und weniger Spalten auswählen müssen.
Sie können dieses Problem umgehen, indem Sie den Code für ein Custom RFC_READ_TABLE
einfügen. Dieser ähnelt dem SAP RFC_READ_TABLE
, enthält aber einen größeren Puffer, um das Problem DATA_BUFFER_EXCEEDED
zu beheben.
Benutzerdefinierte Lesetabellenfunktion verwenden
Der Connector unterstützt ein Custom RFC_READ_TABLE
, das dem SAP RFC_READ_TABLE
ähnelt, aber einen größeren Zwischenspeicher hat, sodass das Problem DATA_BUFFER_EXCEEDED
behoben werden kann.
Benutzerdefinierten RFC_READ_TABLE im SAP-Back-End erstellen
Führen Sie die folgenden Schritte aus, um das Beispiel für den benutzerdefinierten RFC_READ_TABLE zu verwenden.
- Verwenden Sie die Funktion
RFC_READ_TABLE
als Vorlage für die neue Funktion: Wählen Sie den Transaktionscode SE37 und die SDTX-Funktionsgruppe aus und kopieren SieRFC_READ_TABLE
in eine neue Funktionsgruppe oder Ihre funktionierende Funktionsgruppe. In diesem Beispiel wirdRFC_READ_TABLE
inZ_CUSTOM_RFC_TABLE
kopiert. - Wählen Sie auf der SAP-Seite auf dem Tab Attributes (Attribute) die Option Remote Enabled Module (Remote aktiviertes Modul) aus.
- Legen Sie auf dem Tab Tabellen den Parameter
DATA
aufCHAR8000
fest. Möglicherweise müssen Sie mit der rechten Maustaste klicken und dann auf Display -> Ändern klicken. - Geben Sie auf dem Tab Quellcode den benutzerdefinierten RFC-Code aus der Lesetabelle ein. Weitere Informationen finden Sie unter Beispiel Z_CUSTOM_RFC_TABLE_function.txt.
- Klicken Sie auf Speichern.
- Definieren Sie die Importe, Tabellen und Ausnahmen, wie in der bereitgestellten benutzerdefinierten Lesetabelle dokumentiert.
- Aktivieren Sie das Funktionsmodul.
Benutzerdefinierte schreibgeschützte Tabelle für ABAP 7.52
Wenn Sie ABAP 7.52 oder höher verwenden, sehen Sie sich das Beispiel Z_CUSTOM_RFC_TABLE_function_ABAP752.txt an.
Die Beispielfunktion ist für ABAP Version 7.52 und höher vorgesehen. Sie ähnelt der Funktion Z_CUSTOM_RFC_TABLE
, nutzt jedoch neu verfügbare Schlüsselwörter in ABAP 7.52 für die Paginierung innerhalb der Datenbank statt im ABAP-Skript selbst. Dies macht die Paginierung weitaus effizienter und verbessert die Leistung bei der Arbeit mit großen Tabellen. Es wird empfohlen, nach Möglichkeit Z_CUSTOM_RFC_TABLE_752 RFC
zu verwenden.
Verbindungen mit Terraform erstellen
Sie können mit der Terraform-Ressource eine neue Verbindung erstellen.Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
Eine Beispiel-Terraform-Vorlage zum Erstellen von Verbindungen finden Sie unter Beispielvorlage.
Wenn Sie diese Verbindung mithilfe von Terraform erstellen, müssen Sie die folgenden Variablen in der 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 normalerweise nur angegeben werden, wenn Sie eine Verbindung zu einem SAP-System herstellen, das Load-Balancing verwendet. |
message_server | STRING | Falsch | Der Nachrichtenserver muss angegeben werden, wenn eine Verbindung zu einem SAP-System mit Load-Balancing hergestellt wird. |
read_table_function | STRING | Falsch | Die Funktion, die zum Lesen von Tabellendaten verwendet werden soll. |
connection_scheme | ENUM | Falsch | Gibt an, ob Sie eine Verbindung zu einem SAP-System mit einem Nachrichtenserver (GroupServer) oder ohne einen (ApplicationServer) herstellen. 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. Es wird häufig bei Load-Balancing-Verbindungen verwendet. |
system_number | STRING | Wahr | Die Zahl, durch die das Zielsystem definiert ist. Wird beim Festlegen der Eigenschaft „Hostverbindung“ verwendet. |
project_id | STRING | Wahr | Die ID des Google Cloud-Projekts, in dem sich der Cloud Storage-Bucket mit der SAP JCo-JAR-Datei befindet. |
Bucket | STRING | Wahr | Der Name des Buckets, der die Dateien sapjco3.jar und libsapjco3.so enthält |
sapjco3_jar | STRING | Wahr | Objekt-ID für sapjco3.jar |
libsapjco3_so | STRING | Wahr | Objekt-ID für libsapjco3.so |
snc_lib | STRING | Falsch | Objekt-ID für die SNC-Bibliothek |
snc_mode | BOOLEAN | Falsch | Ein boolescher Wert, der bestimmt, ob Sie SNC verwenden. Setzen Sie dies auf „true“, um SNC zu verwenden. |
snc_name | STRING | Falsch | Eine optionale Eingabe mit dem Namen Ihrer SNC-Verbindung. |
snc_qop | ENUM | Falsch | Die Schutzqualität deiner SNC-Verbindung. Gültige Werte sind 1, 2, 3, 8 oder 9. Sie entsprechen den folgenden Schutzstufen: 1 Nur Authentifizierung anwenden. 2. Integritätsschutz (Authentifizierung) anwenden 3. Ergreifen Sie Datenschutzmaßnahmen (Integrität und Authentifizierung). 8 Standardschutz anwenden 9 Höchsten Schutz anwenden Unterstützte Werte: 1, 2, 3, 8, 9 |
snc_partner_name | STRING | Falsch | Der SNC-Name des Anwendungsservers. Diese Eingabe ist bei Verwendung von SNC erforderlich. |
query_mode | ENUM | Falsch | Bestimmt, welche SAP-Tabellen gegebenenfalls als Ansichten angezeigt werden. Unterstützte Werte: Global, Local, All, None |
table_mode | ENUM | Falsch | Bestimmt, welche SAP-Tabellen gegebenenfalls als Ansichten angezeigt werden. Unterstützte Werte: TransparentApplication, TransparentCustomer, TransparentSystem, Pooled, Cluster, All, None |
Ausführlichkeit | STRING | Falsch | Ausführlichkeitsstufe für Verbindung: zwischen 1 und 5. Bei einem höheren Ausführlichkeitsgrad werden alle Kommunikationsdetails (Anfrage-, Antwort- und SSL-Zertifikate) protokolliert. |
SAP ERP-Verbindung in einer Integration verwenden
Nachdem Sie die Verbindung erstellt haben, ist sie in Apigee Integration und Application Integration verfügbar. Sie können die Verbindung in einer Integration über die Connectors-Aufgabe verwenden.
- Informationen zum Erstellen und Verwenden der Connectors-Aufgabe in der Apigee-Integration finden Sie unter Connectors-Aufgabe.
- Informationen zum Erstellen und Verwenden der Connectors-Aufgabe in Application Integration finden Sie unter Connectors.
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
- Informationen zum Anhalten und Fortsetzen einer Verbindung
- Informationen zum Überwachen der Connector-Nutzung
- Weitere Informationen zum Aufrufen von Connector-Logs