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 :

  1. 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.

    Accéder à la page "Connexions"

  2. Cliquez sur + Créer pour ouvrir la page Créer une connexion.
  3. Dans la section Emplacement, choisissez l'emplacement de la connexion.
    1. 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.

    2. Cliquez sur Suivant.
  4. Dans la section Détails de la connexion, procédez comme suit:
    1. Connector (Connecteur) : sélectionnez SAP ERP dans la liste déroulante des connecteurs disponibles.
    2. Version du connecteur : sélectionnez la version du connecteur dans la liste déroulante des versions disponibles.
    3. 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.
    4. Saisissez éventuellement une description de la connexion.
    5. Activez éventuellement Cloud Logging.
    6. Compte de service : sélectionnez un compte de service disposant des rôles requis.
    7. 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.
    8. Client: client qui s'authentifie auprès du système SAP.
    9. 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.
    10. 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.
    11. ID du projet: ID du projet Google Cloud dans lequel se trouve le bucket GCS contenant le fichier JAR SAP JCo.
    12. Bucket: nom du bucket contenant les fichiers sapjco3.jar et libsapjco3.so
    13. ID d'objet JCo: ID de l'objet JCo.
    14. ID d'objet libsapjco3: ID de l'objet du fichier JAR libsapjco3
    15. Table mode (Mode table) : sélectionnez la table SAP à afficher sous forme de vue.
    16. ID d'objet SNC_LIB: ID d'objet de la bibliothèque SNC.
    17. 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.
    18. 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.
    19. Serveur de messagerie: nom du serveur de messagerie à utiliser lors de la connexion au système SAP qui utilise des équilibreurs de charge.
    20. 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.
    21. Schéma de connexion: sélectionnez le schéma de connexion à utiliser pour la connexion à votre système SAP.
    22. System ID (ID système) : l'ID système ou le R3Name du système SAP. Vous pouvez saisir jusqu'à trois caractères.
    23. Code secret SNC: sélectionnez le secret Secret Manager du code secret de la bibliothèque SNC.
    24. Version du secret: sélectionnez la version du secret.
    25. SNC mode (Mode SNC) : sélectionnez cette option pour activer la fonctionnalité SNC pour l'authentification entre Integration Connectors et votre système SAP.
    26. Nom SNC: saisissez un nom pour la connexion SNC.
    27. 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.
    28. Nom SNC du partenaire: saisissez le nom SNC du serveur d'applications.
    29. Mode de requête: sélectionnez les tables SAP à afficher en tant que vues.
    30. Vues consultables: saisissez une liste de vues à afficher, en les séparant par une virgule. Exemple :ViewA,ViewB,ViewC
    31. 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.
    32. 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.

    33. Vous pouvez également cliquer sur + AJOUTER UN LIBELLÉ pour ajouter un libellé à la connexion sous la forme d'une paire clé/valeur.
    34. Cliquez sur Suivant.
  5. Dans la section Destinations, saisissez les informations concernant l'hôte distant (système backend) auquel vous souhaitez vous connecter.
    1. 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.

    2. Cliquez sur Suivant.
  6. Dans la section Authentification, saisissez les informations d'authentification.
    1. 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
    2. Pour comprendre comment configurer ces types d'authentification, consultez la section Configurer l'authentification.

    3. Cliquez sur Suivant.
  7. 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.
  8. Vérifiez vos informations de connexion et d'authentification.
  9. 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:

  1. Sélectionnez l'un des types d'authentification suivants pour l'écouteur d'événements.
  2. 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
    ...
    }
  3. Select Enable private connectivity for secured connectivity between your backend application and your connection. If you select this option, you must perform additional configuration steps after creating the connection. For more information, see Private connectivity for event subscription.
  4. Enter the dead-letter configuration. If you configure dead-letter, the connection writes the unprocessed events to the specified Pub/Sub topic. Enter the following details:
    1. Dead-letter project ID: The Google Cloud project ID where you have configured the dead-letter Pub/Sub topic.
    2. Dead-letter topic: The Pub/Sub topic where you want to write the details of the unprocessed event.

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:

  1. Follow the detailed instructions to add a connectors task.
  2. When you configure the connector task, in the type of action you want to perform, select Actions.
  3. In the Action list, select Execute custom query, and then click Done.

    image showing execute-custom-query-action image showing execute-custom-query-action

  4. Expand the Task input section, and then do the following:
    1. In the Timeout after field, enter the number of seconds to wait till the query executes.

      Default value: 180 seconds.

    2. In the Maximum number of rows field, enter the maximum number of rows to be returned from the database.

      Default value: 25.

    3. To update the custom query, click Edit Custom Script. The Script editor dialog opens.

      image showing custom-sql-query image showing custom-sql-query

    4. 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 the LastName column:

      SELECT * FROM Employees where LastName=?

    5. 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.

      image montrant un ajout add-query-param image montrant un ajout add-query-param

      Pour ajouter des paramètres de requête, procédez comme suit :

      1. Dans la liste Type, sélectionnez le type de données du paramètre.
      2. Dans le champ Valeur, saisissez la valeur du paramètre.
      3. 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.

    Exemples d'actions

    Exemple : Créer un enregistrement

    Cet exemple crée un enregistrement metrial à l'aide de l'action BAPI_MATERIAL_SAVEDATA.

    1. Dans la boîte de dialogue Configure connector task, cliquez sur Actions.
    2. Sélectionnez l'action BAPI_MATERIAL_SAVEDATA, puis cliquez sur OK.
    3. 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 Champ Default 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\"}"
      }
    4. 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.

    1. Dans la boîte de dialogue Configure connector task, cliquez sur Actions.
    2. Sélectionnez l'action BAPI_MATERIAL_SAVEDATA, puis cliquez sur OK.
    3. 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 Champ Default 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\"}"
      }
    4. 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.

    1. Dans la boîte de dialogue Configure connector task, cliquez sur Actions.
    2. Sélectionnez l'action BAPI_MATERIAL_SAVEDATA, puis cliquez sur OK.
    3. 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 Champ Default Value:
      {
      "HEADDATA": "{\"MATERIAL\":\"000000000000009000\",\"BASIC_VIEW\":\"X\"}",
      "CLIENTDATA": "{\"DEL_FLAG\":\"X\"}",
      "CLIENTDATAX": "{\"DEL_FLAG\":\"X\"}"
      }
    4. 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.

    1. Dans la boîte de dialogue Configure connector task, cliquez sur Actions.
    2. Sélectionnez l'action ZFM_GCP_MULTIDATA_TAB, puis cliquez sur OK.
    3. 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 Champ Default 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\"}"
      }
    4. 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.

    1. Dans la boîte de dialogue Configure connector task, cliquez sur Actions.
    2. Sélectionnez l'action PushIDoc, puis cliquez sur OK.
    3. 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 Champ Default 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"
      }
    4. 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.

    1. Dans la boîte de dialogue Configure connector task, cliquez sur Entities.
    2. Sélectionnez T001 dans la liste Entity.
    3. Sélectionnez l'opération List, puis cliquez sur OK.
    4. 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.

    1. Dans la boîte de dialogue Configure connector task, cliquez sur Entities.
    2. Sélectionnez T001 dans la liste Entity.
    3. Sélectionnez l'opération Get, puis cliquez sur OK.
    4. 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.

    1. 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 copiez RFC_READ_TABLE dans un nouveau groupe de fonctions ou dans votre groupe de fonctions de travail. Dans cet exemple, RFC_READ_TABLE est copié dans Z_CUSTOM_RFC_TABLE.
    2. Dans l'onglet Attributes (Attributs) de la page SAP, sélectionnez Remote Enabled Module (Module activé à distance).
    3. Dans l'onglet Tables, définissez le paramètre DATA sur CHAR8000 (vous devrez peut-être effectuer un clic droit, puis cliquer sur Affichage -> Modifier).
    4. 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.
    5. Cliquez sur Enregistrer.
    6. Définissez les importations, les tables et les exceptions comme indiqué dans le tableau de lecture personnalisé fourni.
    7. 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