Consultez la liste des connecteurs compatibles avec Application Integration.

Déclencheur SAP ERP

Le déclencheur SAP ERP est un déclencheur d'événement de connecteur SAP ERP qui 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

  • Si vous envisagez de créer ou de configurer une connexion pour le déclencheur SAP ERP, assurez-vous de disposer du rôle IAM suivant sur le projet :
    • Administrateur de connecteurs (roles/connectors.admin)
    • Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès.

  • Attribuez les rôles IAM suivants au compte de service que vous souhaitez utiliser pour le déclencheur SAP ERP :
    • Demandeur Application Integration (roles/integrations.integrationInvoker)
    • Pour en savoir plus sur l'attribution d'un rôle à un compte de service, consultez la page Gérer l'accès aux comptes de service.

  • Ajouter le déclencheur SAP ERP

    Pour ajouter un déclencheur SAP ERP à votre intégration, procédez comme suit:

    1. Dans la console Google Cloud, accédez à la page Application Integration.

      Accéder à Application Integration

    2. Dans le menu de navigation, cliquez sur Integrations (Intégrations).

      La page Liste des intégrations s'affiche. Elle répertorie toutes les intégrations disponibles dans le projet Google Cloud.

    3. Sélectionnez une intégration existante ou cliquez sur Créer une intégration pour en créer une.

      Si vous créez une intégration:

      1. Saisissez un nom et une description dans le volet Create Integration (Créer une intégration).
      2. Sélectionnez une région pour l'intégration.
      3. Sélectionnez un compte de service pour l'intégration. Vous pouvez modifier ou mettre à jour les détails du compte de service d'une intégration à tout moment à partir du volet Integration summary (Résumé de l'intégration) dans la barre d'outils de l'intégration.
      4. Cliquez sur Créer.

      La page de l'éditeur d'intégration s'affiche.

    4. Dans la barre de navigation de l'éditeur d'intégration, cliquez sur Déclencheurs pour afficher la liste des déclencheurs disponibles.
    5. Cliquez sur l'élément SAP ERP trigger (Déclencheur SAP ERP) et placez-le dans l'éditeur d'intégration.
    6. Pour configurer le déclencheur SAP ERP, vous pouvez soit utiliser une connexion SAP ERP existante disponible dans Integration Connectors, soit créer une connexion SAP ERP à l'aide de l'option de création de connexion intégrée.

    Configurer un déclencheur SAP ERP à l'aide d'une connexion existante

    Le déclencheur SAP ERP est un déclencheur d'événement de connecteur. Par conséquent, vous ne pouvez utiliser qu'une connexion SAP ERP avec l'abonnement aux événements activé pour configurer le déclencheur.

    Pour savoir comment configurer un déclencheur SAP ERP à l'aide d'une nouvelle connexion SAP ERP, consultez Configurer un déclencheur SAP ERP à l'aide d'une nouvelle connexion.

    Pour configurer un déclencheur SAP ERP à l'aide d'une connexion SAP ERP existante, procédez comme suit:

    1. Cliquez sur l'élément Déclencheur SAP ERP dans l'éditeur d'intégration pour ouvrir le volet de configuration du déclencheur.
    2. Cliquez sur Configurer un déclencheur.
    3. Fournissez les informations de configuration suivantes sur la page Éditeur de déclencheurs d'événements de connecteur :
      1. Region (Région) : sélectionnez la région de votre connexion SAP ERP.
      2. Connexion:sélectionnez la connexion SAP ERP que vous souhaitez utiliser.

        Application Integration n'affiche que les connexions SAP ERP actives et pour lesquelles un abonnement aux événements est activé.

      3. Saisissez le nom du champ de type d'événement. Ce champ identifie le type d'événement associé à la requête d'événement entrante.
        {
            "event_type": "user.created",
            ...
            // other request fields
            ...
            }
      4. Compte de service: sélectionnez un compte de service disposant des rôles IAM requis pour le déclencheur SAP ERP.
    4. Cliquez sur OK pour terminer la configuration du déclencheur et fermer la page.

    Configurer le déclencheur SAP ERP à l'aide d'une nouvelle connexion

    1. Cliquez sur l'élément Déclencheur SAP ERP dans l'éditeur d'intégration pour ouvrir le volet de configuration du déclencheur.
    2. Cliquez sur Configurer un déclencheur.
    3. Ignorez le champ Région.
    4. Cliquez sur Connexion, puis sélectionnez l'option Créer une connexion dans le menu déroulant.
    5. 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. La sélection de cette option affiche les options suivantes :
        • Activer l'abonnement aux événements avec une entité et des actions: sélectionnez cette option pour utiliser la connexion à la fois pour les opérations d'abonnement aux événements et de connecteur (entités et actions).
        • Activer uniquement l'abonnement aux événements: sélectionnez cette option pour n'utiliser la connexion que pour l'abonnement aux événements. Si vous sélectionnez cette option, cliquez sur Suivant, puis sur Configurer l'abonnement à l'é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 du PSE: nom du fichier PSE (Personal Security Environment) applicable au 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. Ce paramètre 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 en savoir plus, 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 Application Integration 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 valeurs acceptées sont comprises entre 1 et 5. Une valeur supérieure signifie que davantage 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.
    6. 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 avec vos systèmes backend avec une sécurité supplémentaire, vous pouvez envisager de configurer des adresses IP sortantes statiques pour vos connexions, puis configurer vos règles de pare-feu pour n'ajouter à la liste d'autorisation que les adresses IP statiques spécifiques.

        Pour saisir d'autres destinations, cliquez sur + Ajouter une destination.

      2. Cliquez sur Suivant.
    7. 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.
    8. 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 savoir comment configurer les détails d'un abonnement à un événement, consultez Configurer un abonnement à un événement.
    9. Vérifiez vos informations de connexion et d'authentification.
    10. 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: secret Secret Manager contenant le mot de passe associé au connecteur.

    Configurer l'abonnement à un événement

    Si vous avez activé l'abonnement à l'événement, saisissez les valeurs suivantes dans la 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é à la requête 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.

    Use a custom read table function

    RFC_READ_TABLE

    The connector uses the SAP RFC_READ_TABLE function to get data from SAP tables.

    However, it has certain limitations. As an example, consider the DATA_BUFFER_EXCEEDED exception. The SAP RFC_READ_TABLE has a fixed size of 512 bytes. It can buffer for each row of data, and thus you cannot select more columns than the amount that would fit in this buffer. If you select more than 512 bytes, an exception occurs indicating that you have exceeded the maximum buffer size allowed per row and need to select fewer columns.

    RFC_READ_TABLE2

    The SAP ERP connector supports the RFC_READ_TABLE2 table read function. You can switch the active table read function to RFC_READ_TABLE2 by setting ReadTableFunction to /SAPDS/RFC_READ_TABLE2.

    Custom read table functions

    The connector includes a custom read-table RFC, Z_CUSTOM_READ_TABLE that is similar to the SAP RFC_READ_TABLE, but with a larger buffer to address the DATA_BUFFER_EXCEEDED problem and bypass RFC_READ_TABLE limitations.

    To use the included custom read-table RFC to bypass limitations with the default RFC_READ_TABLE, follow these steps:

    1. Use the RFC_READ_TABLE function as a template for the new function. Select transaction code SE37 and the SDTX function group and copy RFC_READ_TABLE to a new function group or your working function group. In this example, RFC_READ_TABLE is copied to Z_CUSTOM_READ_TABLE.
    2. On the Attributes tab of the SAP screen, select Remote Enabled Module.
    3. On the Tables tab, set the DATA parameter to CHAR8000. Right-click on the screen and then click Display -> Change.
    4. On the Source Code tab, paste the example source code for the replacement RFC_READ_TABLE function module located in the db subfolder of the installation directory. The code is located in Z_CUSTOM_READ_TABLE.txt, though Z_CUSTOM_READ_TABLE_752.txt is preferred if your SAP ERP instance is running ABAP version 7.52 or later.
    5. Click Save.
    6. Define the imports, tables, and exceptions as documented in the provided custom read table.
    7. Activate the function module and in your connection string set ReadTableFunction to Z_CUSTOM_READ_TABLE, or the name of your function module.

    The ABAP 7.52 Custom Read Table

    Along with Z_CUSTOM_READ_TABLE.txt, there is also a Z_CUSTOM_READ_TABLE_752.txt file, for ABAP version 7.52 and above. It is similar to Z_CUSTOM_READ_TABLE, but it takes advantage of the newly available keywords in ABAP 7.52 to perform paging within the database instead of in the ABAP script itself. This makes paging efficient when working with large tables.

    It is recommended to use the Z_CUSTOM_READ_TABLE_752 RFC.

    Configure authentication in SAP

    Configure the authentication in SAP by following the instructions in the Authentication overview for the on-premises or any cloud edition of ABAP SDK for Google Cloud guide.

    Validate the trigger

    To validate the trigger, you can create an ABAP program. The following is a sample ABAP program that you can use as a reference. The ls_event_payload field changes based on your requirements:

    *&---------------------------------------------------------------------*
    *& Report ZR_TEST_INT_CONNECTOR
    *&---------------------------------------------------------------------*
    *&
    *&---------------------------------------------------------------------*
    REPORT zr_test_int_connector.
    PARAMETERS: p_auth TYPE char1 RADIOBUTTON GROUP rbg1 USER-COMMAND uc DEFAULT 'X',
     p_apik TYPE char1 RADIOBUTTON GROUP rbg1.
    DATA:
     lv_p_projects_id TYPE string,
     lv_p_locations_id TYPE string,
     lv_p_connections_id TYPE string,
     ls_input TYPE /goog/cl_connectors_v1=>ty_103.
    TYPES: BEGIN OF event_payload,
     event_type TYPE string,
     event_id TYPE string,
     name TYPE string,
     org_id TYPE string,
     END OF event_payload.
    DATA: ls_event_payload TYPE event_payload.
    ls_event_payload = VALUE #(
     event_type = 'create-entity'
     event_id = '1'
     name = 'demo-org'
     org_id = 'SAP'
     ).
    TRY.
     IF p_Auth = abap_true.
     DATA(lv_client_key) = 'IC_DEMO_GOOGLE_AUTH'.
     lv_p_connections_id = 'conn-event-triggers-from-sap-erp'.
     ELSE.
     lv_client_key = 'IC_DEMO_GOOGLE_APIK'.
     lv_p_connections_id = 'conn-event-triggers-from-sap-erp-apik'.
     ENDIF.
    * Open HTTP Connection
     DATA(lo_client) = NEW /goog/cl_connectors_v1( iv_key_name = CONV #( lv_client_key ) ).
    * Populate relevant parameters
     lv_p_projects_id = lo_client->gv_project_id.
     lv_p_locations_id = 'us-central1'.
     GET REFERENCE OF ls_event_payload INTO ls_input-payload .
    * Call API method: connectors.projects.locations.connections.listenEvent
     CALL METHOD lo_client->listen_event_connections
     EXPORTING
    
    
    iv_p_projects_id = lv_p_projects_id
     iv_p_locations_id = lv_p_locations_id
     iv_p_connections_id = lv_p_connections_id
     is_input = ls_input
     IMPORTING
    * es_raw =
     es_output = DATA(ls_output)
     ev_ret_code = DATA(lv_ret_code)
     ev_err_text = DATA(lv_err_text)
     es_err_resp = DATA(ls_err_resp).
     IF lo_client->is_success( lv_ret_code ).
     MESSAGE 'Success' TYPE 'S'.
     ELSE.
     MESSAGE lv_err_text TYPE 'E'.
     ENDIF.
    * Close HTTP Connection
     lo_client->close( ).
     CATCH /goog/cx_sdk INTO DATA(lo_exception).
     MESSAGE lo_exception->get_text( ) TYPE 'E'.
    ENDTRY.