SAP ERP
Le connecteur SAP ERP vous permet d'effectuer des opérations d'insertion, de suppression, de mise à jour et de lecture de données SAP ERP.
Avant de commencer
Avant d'utiliser le connecteur SAP ERP, effectuez les tâches suivantes:
- Dans votre projet Google Cloud :
- Accorder à l'utilisateur le rôle IAM roles/connectors.admin configuration du connecteur.
- Attribuez les rôles IAM suivants au compte de service que vous souhaitez utiliser pour le connecteur :
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
roles/storage.objectViewer
Un compte de service est un compte Google spécial destiné à représenter un utilisateur non humain qui doit s'authentifier et obtenir les autorisations permettant d'accéder aux données des API Google. Si vous ne possédez pas de compte de service, vous devez en créer un. Pour plus d'informations, consultez la section Créer un compte de service.
- Activez les services suivants :
secretmanager.googleapis.com
(API Secret Manager)connectors.googleapis.com
(API Connectors)
Pour savoir comment activer des services, consultez la page Activer des services.
Si ces services ou autorisations n'ont pas encore été activés pour votre projet, vous êtes invité à les activer lors de la configuration du connecteur.
Configurer le connecteur
Pour configurer le connecteur, vous devez créer une connexion à votre source de données (système backend). Une connexion est spécifique à une source de données. Cela signifie que si vous disposez de nombreuses sources de données, vous devez créer une connexion distincte pour chacune d'elles. Pour créer une connexion, procédez comme suit :
- Dans la console Cloud, accédez à la page Integration Connectors > Connections (Connecteurs d'intégration > Connexions), puis sélectionnez ou créez un projet Google Cloud.
- Cliquez sur + Créer pour ouvrir la page Créer une connexion.
-
Dans la section Emplacement, choisissez l'emplacement de la connexion.
- Région : sélectionnez un emplacement dans la liste déroulante.
Pour obtenir la liste de toutes les régions disponibles, consultez la page Emplacements.
- Cliquez sur Suivant.
- Région : sélectionnez un emplacement dans la liste déroulante.
- Dans la section Détails de la connexion, procédez comme suit:
- Connector (Connecteur) : sélectionnez SAP ERP dans la liste déroulante des connecteurs disponibles.
- Version du connecteur : sélectionnez la version du connecteur dans la liste déroulante des versions disponibles.
- Dans le champ Nom de connexion, saisissez un nom pour l'instance de connexion.
Les noms de connexion doivent répondre aux critères suivants :
- Les noms de connexion peuvent contenir des lettres, des chiffres ou des traits d'union.
- Les lettres doivent être en minuscules.
- Les noms de connexion doivent commencer par une lettre et se terminer par une lettre ou un chiffre.
- Les noms de connexion ne peuvent pas dépasser 63 caractères.
- Saisissez éventuellement une description de la connexion.
- Activez éventuellement Cloud Logging.
- Compte de service : sélectionnez un compte de service disposant des rôles requis.
- Pour utiliser la connexion pour souscrire des abonnements à des événements, sélectionnez Activer l'abonnement aux événements. Sélection...
affiche les options suivantes:
- Activer l'abonnement à des événements avec une entité et des actions: sélectionnez cette option pour utiliser la connexion pour les opérations d'abonnement aux événements et de connecteur (entités et actions).
- Activer uniquement l'abonnement à un événement: sélectionnez cette option pour utiliser la connexion. uniquement pour l'abonnement à un événement. Si vous sélectionnez cette option, cliquez sur Suivant, puis configurer un abonnement à un événement.
- Client: client qui s'authentifie auprès du système SAP.
- System Id (ID système) : l'ID système ou R3Name du système SAP est une chaîne de trois caractères maximum. Il est souvent utilisé dans l'équilibrage de charge des connexions.
- System Number (Numéro système) : numéro par lequel le système cible est défini. Utilisé lors de la définition de la propriété de connexion à l'hôte.
- ID du projet: ID du projet Google Cloud dans lequel se trouve le bucket GCS contenant le fichier JAR SAP JCo.
- Bucket: nom du bucket contenant les fichiers sapjco3.jar et libsapjco3.so
- ID d'objet JCo: ID de l'objet JCo.
- ID d'objet libsapjco3: ID de l'objet du fichier JAR libsapjco3
- Table mode (Mode table) : sélectionnez la table SAP à afficher sous forme de vue.
- ID d'objet SNC_LIB: ID d'objet de la bibliothèque SNC.
- Nom de l'environnement de sécurité personnel: nom du fichier PSE concerné pour le bucket. Un fichier PSE stocke la paire de clés publique et privée ainsi que les certificats X.509 dans une structure ASN.1.
- Group (Groupe) : nom du groupe pour l'ouverture de session. Il est normalement spécifié lorsque votre système SAP utilise des équilibreurs de charge.
- Serveur de messagerie: nom du serveur de messagerie à utiliser lors de la connexion au système SAP qui utilise des équilibreurs de charge.
- Fonction de lecture de table: nom de la fonction à utiliser pour lire les tableaux. Pour plus plus d'informations, consultez la section Utiliser une fonction de lecture de table personnalisée.
- Schéma de connexion: sélectionnez le schéma de connexion à utiliser pour la connexion à votre système SAP.
- System ID (ID système) : l'ID système ou le R3Name du système SAP. Vous pouvez saisir jusqu'à trois caractères.
- Code secret SNC: sélectionnez le secret Secret Manager du code secret de la bibliothèque SNC.
- Version du secret: sélectionnez la version du secret.
- SNC mode (Mode SNC) : sélectionnez cette option pour activer la fonctionnalité SNC pour l'authentification entre Integration Connectors et votre système SAP.
- Nom SNC: saisissez un nom pour la connexion SNC.
-
SNC qop: sélectionnez un niveau de protection. Voici les niveaux acceptés:
- 1 : appliquer uniquement l'authentification.
- 2 : Appliquez la protection de l'intégrité. Cela inclut également une protection par authentification.
- 3 – Appliquez une protection de la confidentialité. Cela inclut également la protection de l'intégrité et par authentification.
- 8 : appliquez la protection par défaut.
- 9 : applique la protection maximale.
- Nom SNC du partenaire: saisissez le nom SNC du serveur d'applications.
- Mode de requête: sélectionnez les tables SAP à afficher en tant que vues.
-
Vues consultables: saisissez une liste de vues à afficher, en les séparant par une virgule.
Exemple :
ViewA,ViewB,ViewC
- Niveau de verbosité: saisissez le niveau de verbosité pour la journalisation. Les attributs sont comprises entre 1 et 5. Plus la valeur est élevée, plus de détails seront disponibles dans les journaux.
- Vous pouvez également configurer les paramètres du nœud de connexion :
- Nombre minimal de nœuds : saisissez le nombre minimal de nœuds de connexion.
- Nombre maximal de nœuds : saisissez le nombre maximal de nœuds de connexion.
Un nœud est une unité (ou instance répliquée) de connexion qui traite des transactions. Pour traiter plus de transactions pour une connexion, plus de nœuds sont nécessaires. À l'inverse, moins de nœuds sont nécessaires pour traiter moins de transactions. Pour comprendre comment les nœuds affectent la tarification de votre connecteur, consultez la section Tarifs des nœuds de connexion. Si vous ne saisissez aucune valeur, le nombre minimal de nœuds est défini par défaut sur 2 (pour une meilleure disponibilité) et le nombre maximal sur 50.
- Vous pouvez également cliquer sur + AJOUTER UN LIBELLÉ pour ajouter un libellé à la connexion sous la forme d'une paire clé/valeur.
- Cliquez sur Suivant.
- Dans la section Destinations, saisissez les informations concernant l'hôte distant (système backend) auquel vous souhaitez vous connecter.
- Type de destination : sélectionnez un type de destination.
- Sélectionnez Adresse hôte dans la liste pour spécifier le nom d'hôte ou l'adresse IP de la destination.
- Si vous souhaitez établir une connexion privée à vos systèmes backend, sélectionnez Rattachement du point de terminaison dans la liste, puis sélectionnez le rattachement du point de terminaison requis dans la liste Rattachement du point de terminaison.
Si vous souhaitez établir une connexion publique à vos systèmes backend avec une sécurité supplémentaire, vous pouvez envisager de configurer des adresses IP sortantes statiques pour vos connexions, puis de configurer vos règles de pare-feu pour ajouter à la liste d'autorisation uniquement les adresses IP statiques spécifiques.
Pour saisir d'autres destinations, cliquez sur + Ajouter une destination.
- Cliquez sur Suivant.
- Type de destination : sélectionnez un type de destination.
-
Dans la section Authentification, saisissez les informations d'authentification.
- Sélectionnez un type d'authentification, puis saisissez les informations appropriées.
Les types d'authentification suivants sont compatibles avec la connexion SAP ERP:
- Nom d'utilisateur et mot de passe
- Cliquez sur Suivant.
Pour comprendre comment configurer ces types d'authentification, consultez la section Configurer l'authentification.
- Sélectionnez un type d'authentification, puis saisissez les informations appropriées.
- Si vous avez activé l'abonnement à l'événement, la section Détails de l'abonnement aux événements s'affiche sur la page de création de connexion. Pour comprendre comment configurer les détails de l'abonnement à un événement, consultez Configurer un abonnement à un événement.
- Vérifiez vos informations de connexion et d'authentification.
- Cliquez sur Créer.
Configurer l'authentification
Saisissez les détails en fonction de l'authentification que vous souhaitez utiliser.
-
Nom d'utilisateur et mot de passe
- Nom d'utilisateur : nom d'utilisateur du connecteur
- Mot de passe: le secret Secret Manager contenant le mot de passe associé au le connecteur.
Configurer l'abonnement à un événement
Si vous avez activé l'abonnement à l'événement, saisissez les valeurs suivantes dans Section Détails de l'abonnement aux événements:
-
Sélectionnez l'un des types d'authentification suivants pour l'écouteur d'événements.
- Authentification Google Si vous activez cette option, suivez les étapes décrites dans la section S'authentifier à l'aide de jetons Web JSON pour configurer l'authentification pour le SDK ABAP. Assurez-vous également que le compte de service roles/connectors.listener dont le jeton d'accès est utilisé pour l'authentification.
- Authentification par clé API. Si vous sélectionnez cette option, vous devez avoir créé une clé API, puis l'avoir enregistrée en tant que secret Secret Manager. Pour en savoir plus, consultez Créez une clé API.
-
Saisissez le nom du champ de type d'événement. Ce champ identifie le type d'événement associé au
demande d'événement entrante.
{ "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=?
- Si vous avez utilisé des points d'interrogation dans votre requête SQL, vous devez ajouter le paramètre en cliquant sur + Ajouter un nom de paramètre pour chaque point d'interrogation. Lors de l'exécution de l'intégration, ces paramètres remplacent les points d'interrogation (?) de la requête SQL de manière séquentielle. Par exemple, si vous avez ajouté trois points d'interrogation (?), vous devez ajouter trois paramètres dans l'ordre.
Pour ajouter des paramètres de requête, procédez comme suit :
- Dans la liste Type, sélectionnez le type de données du paramètre.
- Dans le champ Valeur, saisissez la valeur du paramètre.
- Pour ajouter plusieurs paramètres, cliquez sur + Ajouter un paramètre de requête.
Si l'exécution réussit, cette action renvoie l'état 200 (OK) avec un corps de réponse contenant les résultats de la requête.
- In the Timeout after field, enter the number of seconds to wait till the query executes.
Exemples d'actions
Exemple : Créer un enregistrement
Cet exemple crée un enregistrement metrial à l'aide de l'action BAPI_MATERIAL_SAVEDATA.
- Dans la boîte de dialogue
Configure connector task
, cliquez surActions
. - Sélectionnez l'action
BAPI_MATERIAL_SAVEDATA
, puis cliquez sur OK. - Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur
connectorInputPayload
, puis saisissez une valeur semblable à celle-ci dans la section ChampDefault Value
:{ "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\"}" }
Si l'action aboutit, la
Réponse connectorOutputPayload
de la tâche BAPI_MATERIAL_SAVEDATA
aura une valeur semblable à celle-ci:
[{ "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 }]
Exemple – Mettre à jour un enregistrement
Cet exemple met à jour un enregistrement d'appareil à l'aide de l'action BAPI_MATERIAL_SAVEDATA.
- Dans la boîte de dialogue
Configure connector task
, cliquez surActions
. - Sélectionnez l'action
BAPI_MATERIAL_SAVEDATA
, puis cliquez sur OK. - Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur
connectorInputPayload
, puis saisissez une valeur semblable à celle-ci dans la section ChampDefault Value
:{ "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\"}" }
Si l'action aboutit, la
Réponse connectorOutputPayload
de la tâche BAPI_MATERIAL_SAVEDATA
aura une valeur semblable à celle-ci:
[{ "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 }]
Exemple : Supprimer un enregistrement
Dans cet exemple, un enregistrement metrial est supprimé à l'aide de l'action BAPI_MATERIAL_SAVEDATA.
- Dans la boîte de dialogue
Configure connector task
, cliquez surActions
. - Sélectionnez l'action
BAPI_MATERIAL_SAVEDATA
, puis cliquez sur OK. - Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur
connectorInputPayload
, puis saisissez une valeur semblable à celle-ci dans la section ChampDefault Value
:{ "HEADDATA": "{\"MATERIAL\":\"000000000000009000\",\"BASIC_VIEW\":\"X\"}", "CLIENTDATA": "{\"DEL_FLAG\":\"X\"}", "CLIENTDATAX": "{\"DEL_FLAG\":\"X\"}" }
Si l'action aboutit, la
Réponse connectorOutputPayload
de la tâche BAPI_MATERIAL_SAVEDATA
aura une valeur semblable à celle-ci:
[{ "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 }]
Exemple : Créer des données de type multidonnées
Cet exemple crée des données de type multidonnées à l'aide de l'action ZFM_GCP_MULTIDATA_TAB.
- Dans la boîte de dialogue
Configure connector task
, cliquez surActions
. - Sélectionnez l'action
ZFM_GCP_MULTIDATA_TAB
, puis cliquez sur OK. - Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur
connectorInputPayload
, puis saisissez une valeur semblable à celle-ci dans la section ChampDefault Value
:{ "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\"}" }
Si l'action aboutit, la
Réponse connectorOutputPayload
de la tâche ZFM_GCP_MULTIDATA_TAB
aura une valeur semblable à celle-ci:
[{ "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" }]
Exemple – Transférer un IDoc
Dans cet exemple, un IDoc est transféré vers SAP ERP.
- Dans la boîte de dialogue
Configure connector task
, cliquez surActions
. - Sélectionnez l'action
PushIDoc
, puis cliquez sur OK. - Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur
connectorInputPayload
, puis saisissez une valeur semblable à celle-ci dans la section ChampDefault Value
:{ "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" }
pour en savoir plus. Si l'action aboutit, la
Réponse connectorOutputPayload
de la tâche PushIDoc
aura une valeur semblable à celle-ci:
[{ "Result": "Success", "Message": "Push IDoc success" }]
Exemples d'opérations sur les entités
Cette section explique comment effectuer certaines opérations sur les entités dans ce connecteur.
Exemple : Répertorier tous les enregistrements
Cet exemple répertorie tous les enregistrements de l'entité T001
.
- Dans la boîte de dialogue
Configure connector task
, cliquez surEntities
. - Sélectionnez
T001
dans la listeEntity
. - Sélectionnez l'opération
List
, puis cliquez sur OK. - Si vous le souhaitez, vous pouvez effectuer les actions suivantes dans la section Task Input (Entrée dans la tâche) de la tâche Connectors (Connecteurs). filtrer votre ensemble de résultats en spécifiant une clause de filtre. Spécifiez toujours la valeur de la clause de filtre entre guillemets simples (').
Exemple – Obtenir un enregistrement à partir d'une entité
Cet exemple récupère un enregistrement avec l'ID spécifié à partir de l'entité T001
.
- Dans la boîte de dialogue
Configure connector task
, cliquez surEntities
. - Sélectionnez
T001
dans la listeEntity
. - Sélectionnez l'opération
Get
, puis cliquez sur OK. - Dans la section Task Input (Entrée de la tâche) de la tâche Connectors (Connecteurs), cliquez sur EntityId (ID d'entité).
puis saisissez
0001
dans le champ Default Value (Valeur par défaut).Ici,
0001
est un ID d'enregistrement unique dans l'entitéT001
.
Lire des données volumineuses
Souvent, le connecteur SAP ERP doit lire des données volumineuses sur votre backend SAP. Ce décrit l'approche à suivre pour lire de grands volumes de données.
Le connecteur SAP ERP utilise la fonction SAP RFC_READ_TABLE
pour obtenir des données à partir de tables SAP.
et cette fonction a une taille fixe de 512 octets. Il peut être mis en mémoire tampon pour chaque ligne de données,
vous ne pouvez pas sélectionner plus de colonnes que la quantité
nécessaire dans ce tampon. Si vous sélectionnez
supérieure à 512 octets, l'exception DATA_BUFFER_EXCEEDED
se produira
lorsque vous exécutez votre intégration. indiquant que vous avez dépassé le nombre maximal
de mémoire tampon maximale autorisée par ligne, et vous devez sélectionner moins de colonnes.
Pour contourner ce problème, vous pouvez inclure le code d'une
Custom RFC_READ_TABLE
, qui est semblable à SAP RFC_READ_TABLE
, mais avec un tampon plus grand pour adresser le
DATA_BUFFER_EXCEEDED
problème.
Utiliser une fonction de table personnalisée
Le connecteur accepte un Custom RFC_READ_TABLE
semblable à celui
SAP RFC_READ_TABLE
, mais avec un tampon plus important
cela peut résoudre le problème DATA_BUFFER_EXCEEDED
.
Créer une table RFC_READ_TABLE personnalisée dans votre backend SAP
Suivez les étapes ci-dessous pour utiliser l' exemple de table RFC_READ_TABLE personnalisée.
- Utilisez la fonction
RFC_READ_TABLE
comme modèle pour la nouvelle fonction: sélectionnez le code de transaction SE37 et le groupe de fonctions SDTX et copiezRFC_READ_TABLE
dans un nouveau groupe de fonctions ou dans votre groupe de fonctions de travail. Dans cet exemple,RFC_READ_TABLE
est copié dansZ_CUSTOM_RFC_TABLE
. - Dans l'onglet Attributes (Attributs) de la page SAP, sélectionnez Remote Enabled Module (Module activé à distance).
- Dans l'onglet Tables, définissez le paramètre
DATA
surCHAR8000
(vous devrez peut-être effectuer un clic droit, puis cliquer sur Affichage -> Modifier). - Dans l'onglet Code source, saisissez le code RFC personnalisé de la table de lecture. Pour référence, consultez l'exemple Z_CUSTOM_RFC_TABLE_function.txt.
- Cliquez sur Enregistrer.
- Définissez les importations, les tables et les exceptions comme indiqué dans le tableau de lecture personnalisé fourni.
- Activez le module de fonction.
Tableau de lecture personnalisé pour ABAP 7.52
Si vous utilisez ABAP 7.52 ou une version ultérieure, consultez l'exemple Z_CUSTOM_RFC_TABLE_function_ABAP752.txt.
L'exemple de fonction est conçu pour ABAP version 7.52 ou ultérieure. Elle est semblable à la fonction Z_CUSTOM_RFC_TABLE
,
mais il exploite les nouveaux mots clés
disponibles dans la version 7.52 d'ABAP pour effectuer la pagination
dans la base de données plutôt que
dans le script ABAP lui-même. Cela rend la pagination
beaucoup plus efficace,
et améliore les performances
lorsque vous travaillez avec de grandes tables. Nous vous recommandons d'utiliser
Z_CUSTOM_RFC_TABLE_752 RFC
si possible.
Utiliser Terraform pour créer des connexions
Vous pouvez utiliser l'outil Terraform ressource pour créer une connexion.Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
Pour afficher un exemple de modèle Terraform pour la création de connexions, consultez cet exemple de modèle.
Lorsque vous créez cette connexion à l'aide de Terraform, vous devez définir les variables suivantes dans votre fichier de configuration Terraform:
Nom du paramètre | Type de données | Requis | Description |
---|---|---|---|
Client | STRING | Vrai | Client qui s'authentifie auprès du système SAP. |
groupe | STRING | Faux | Groupe d’ouverture de session utilisé. En règle générale, il ne doit être spécifié que lors de la connexion à un système SAP utilisant l'équilibrage de charge. |
message_server | STRING | Faux | Le serveur de messagerie doit être spécifié lors de la connexion à un système SAP utilisant l'équilibrage de charge. |
read_table_function | STRING | Faux | Fonction à utiliser pour lire les données d'une table. |
connection_scheme | ENUM | Faux | Indique si vous vous connectez à un système SAP avec un serveur de messagerie (GroupServer) ou sans serveur (ApplicationServer). Les valeurs acceptées sont: ApplicationServer, GroupServer. |
system_id | STRING | Faux | L'ID système ou R3Name du système SAP est une chaîne de trois caractères maximum. Il est souvent utilisé dans l'équilibrage de charge des connexions. |
system_number | STRING | Vrai | Numéro par lequel le système cible est défini. Utilisé lors de la définition de la propriété de connexion à l'hôte. |
project_id | STRING | Vrai | ID du projet Google Cloud dans lequel se trouve le bucket Cloud Storage contenant le fichier JCo de SAP JCo. |
bucket | STRING | Vrai | Nom du bucket contenant les fichiers sapjco3.jar et libsapjco3.so |
sapjco3_jar | STRING | Vrai | ID de l'objet pour sapjco3.jar |
libsapjco3_so | STRING | Vrai | ID d'objet pour libsapjco3.so |
snc_lib | STRING | Faux | L'ID d'objet de la bibliothèque SNC |
snc_mode | VALEUR BOOLÉENNE | Faux | Valeur booléenne déterminant si vous utilisez SNC. Définissez ce paramètre sur "true" pour utiliser SNC. |
snc_name | STRING | Faux | Entrée facultative indiquant le nom de votre connexion SNC. |
snc_qop | ENUM | Faux | Qualité de la protection de votre connexion SNC.Les valeurs acceptées sont 1, 2, 3, 8 ou 9, ce qui correspond aux niveaux de protection suivants: 1 Appliquer uniquement l'authentification. 2. Appliquez la protection de l'intégrité (authentification). 3 Appliquez une protection de la confidentialité (intégrité et authentification). 8 Appliquez la protection par défaut. 9 Appliquez la protection maximale. Les valeurs acceptées sont: 1, 2, 3, 8, 9. |
snc_partner_name | STRING | Faux | Nom SNC du serveur d'application. Ce champ est obligatoire pour utiliser SNC. |
query_mode | ENUM | Faux | Détermine quelles tables SAP seront affichées sous forme de vues, le cas échéant. Les valeurs acceptées sont: Global, Local, All, None |
table_mode | ENUM | Faux | Détermine quelles tables SAP seront affichées sous forme de vues, le cas échéant. Les valeurs acceptées sont: TransparentApplication, TransparentCustomer, TransparentSystem, Pooled, Cluster, All, None |
verbosité | STRING | Faux | Niveau de verbosité de la connexion (varie de 1 à 5). Un niveau de verbosité plus élevé consigne tous les détails de la communication (certificats de requête,de réponse et SSL). |
Utiliser la connexion SAP ERP dans une intégration
Une fois la connexion créée, elle devient disponible à la fois Apigee Integration et Application Integration. Vous pouvez utiliser la connexion lors d'une intégration via la tâche "Connecteurs".
- Pour comprendre comment créer et utiliser la tâche "Connecteurs" dans Apigee Integration, consultez la section Tâche Connecteurs.
- Pour découvrir comment créer et utiliser la tâche "Connecteurs" dans Application Integration, consultez la section Tâche Connecteurs.
Obtenir de l'aide auprès de la communauté Google Cloud
Vous pouvez publier vos questions et discuter de ce connecteur sur les forums Cloud de la communauté Google Cloud.Étape suivante
- Découvrez comment suspendre et réactiver une connexion.
- Découvrez comment surveiller l'utilisation des connecteurs.
- Découvrez comment afficher les journaux du connecteur.