Déclencheur SAP ERP

Le déclencheur SAP ERP est un déclencheur d'événement de connecteur. Le connecteur SAP ERP vous permet d'effectuer des opérations d'insertion, de suppression, de mise à jour et de lecture sur des données SAP ERP.

Avant de commencer

  • Si vous prévoyez de créer ou de configurer une connexion pour le déclencheur SAP ERP, assurez-vous de disposer du rôle IAM suivant dans le projet :
    • Administrateur des connecteurs (roles/connectors.admin)
    • Pour en savoir plus sur l'attribution de rôles, consultez Gérer les 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 Intégrations.

      La page Liste des intégrations s'affiche et 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 autre.

      Si vous créez une intégration :

      1. Saisissez un nom et une description dans le volet 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 informations du compte de service d'une intégration à tout moment depuis le volet Résumé de l'intégration  de la barre d'outils d'intégration.
      4. Cliquez sur Créer.

      L'intégration que vous venez de créer s'ouvre dans l'éditeur d'intégration.

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

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

    Le déclencheur SAP ERP est un déclencheur d'événement de connecteur. Vous ne pouvez donc utiliser une connexion SAP ERP qu'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égrations 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. Région : sélectionnez la région de votre connexion SAP ERP.
      2. Connexion : sélectionnez la connexion SAP ERP que vous souhaitez utiliser.

        L'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 du 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 Terminé 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égrations 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 connexion, procédez comme suit :
      1. 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, indiquez le nom de l'instance de connexion.

        Les noms de connexion doivent répondre aux critères suivants :

        • Ils peuvent contenir des lettres, des chiffres ou des traits d'union.
        • Les lettres doivent être en minuscules.
        • Ils doivent commencer par une lettre et se terminer par une lettre ou un chiffre.
        • Ils ne peuvent pas dépasser 49 caractères.
        • Pour les connecteurs qui acceptent les abonnements aux événements, les noms de connexion ne peuvent pas commencer par le préfixe "goog".
      4. (Facultatif) Saisissez une description de l'instance de connexion.
      5. (Facultatif) Activez Cloud Logging, puis sélectionnez un niveau de journalisation. Par défaut, le niveau de journalisation est défini sur Error.
      6. Compte de service : sélectionnez un compte de service disposant des rôles requis.
      7. Pour utiliser la connexion pour les abonnements aux événements, sélectionnez Activer l'abonnement aux événements. Les options suivantes s'affichent alors :
        • Activer l'abonnement aux événements avec entité et actions : sélectionnez cette option pour utiliser la connexion à la fois pour l'abonnement aux événements et les opérations de connecteur (entités et actions).
        • Activer uniquement l'abonnement aux événements : sélectionnez cette option afin d'utiliser la connexion uniquement pour l'abonnement aux événements. Si vous sélectionnez cette option, cliquez sur Suivant, puis configurez l'abonnement aux événements.
      8. Client : client s'authentifiant auprès du système SAP.
      9. 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é pour l'équilibrage de charge des connexions.
      10. Numéro du système : numéro définissant le système cible. Il est utilisé pour définir la propriété de connexion à l'hôte.
      11. ID du projet : ID du projet Google Cloud où 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. Chemin d'accès Cloud Storage du fichier JAR JCo : chemin d'accès Cloud Storage du fichier JAR JCo.
      14. Chemin d'accès Cloud Storage au fichier libsapjco3 : chemin d'accès Cloud Storage au fichier JAR libsapjco3.
      15. Mode Table : sélectionnez la table SAP à afficher sous forme de vue.
      16. Fonction de lecture de tables : nom de la fonction à utiliser pour lire des tables. Pour en savoir plus, consultez Utiliser une fonction de lecture de tables personnalisées.
      17. ID système : ID système ou R3Name du système SAP. Vous pouvez saisir trois caractères maximum.
      18. Mode de requête : sélectionnez les tables SAP à afficher en tant que vues.
      19. Vues consultables : saisissez une liste de vues à afficher, séparées par une virgule. Par exemple, ViewA,ViewB,ViewC.
      20. Langue : définissez cette propriété sur la langue que vous spécifiez lorsque vous vous connectez à SAP. Cette propriété correspond au code ISO 639-1 de la langue utilisée par le système SAP. Par défaut, la langue EN est utilisée.
      21. Entrées de service : entrées de service à utiliser pour la connexion.
      22. Mode SNC : sélectionnez cette option afin d'activer la SNC pour l'authentification entre Application Integration et votre système SAP. Si vous sélectionnez cette option, spécifiez les informations suivantes :
        • ID de l'objet SNC_LIB : ID de l'objet de la bibliothèque SNC.
        • 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.
        • 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.
        • Nom de la SNC : saisissez un nom pour la connexion SNC.
        • SNC qop : sélectionnez un niveau de protection. Les niveaux suivants sont acceptés :
          • 1 - Appliquer l'authentification uniquement.
          • 2 - Appliquer la protection de l'intégrité. Cela inclut également la protection de l'authentification.
          • 3 - Appliquer la protection de la confidentialité. Cela inclut également la protection de l'intégrité et de l'authentification.
          • 8 - Appliquer la protection par défaut.
          • 9 - Appliquer la protection maximale.
        • Nom du partenaire SNC : saisissez le nom du SNC du serveur d'applications.
      23. Schéma de connexion : indiquez si vous vous connectez à un système SAP avec un serveur de messagerie (serveur de groupe) ou un serveur d'applications. Pour en savoir plus sur les conditions préalables à remplir pour vous connecter à un système SAP avec un serveur de messagerie, consultez Type de connexion avec un serveur de messagerie (serveur de groupe).

        Si vous sélectionnez GroupServer, vous devez spécifier les informations suivantes :

        • Serveur de messagerie : spécifiez le serveur de messagerie lorsque vous vous connectez à un système SAP qui utilise l'équilibrage de charge.
        • Service de serveur de messagerie : service de serveur de messagerie auquel vous souhaitez vous connecter.
        • Groupe : groupe d'ouverture de session utilisé. Vous ne devez le spécifier que lorsque vous vous connectez à un système SAP qui utilise l'équilibrage de charge.

        Si vous vous connectez à un système SAP avec un serveur de messagerie (serveur de groupe), vous n'avez pas besoin de spécifier l'adresse de l'hôte dans la section Destinations.

      24. (Facultatif) Configurez les paramètres des nœuds 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 davantage de transactions pour une connexion, vous devez disposer de plus de nœuds. À l'inverse, moins de nœuds sont nécessaires si une connexion traite moins de transactions. Pour comprendre comment les nœuds affectent la tarification de votre connecteur, consultez 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 améliorer la disponibilité) et le nombre maximal de nœuds sur 50.

      25. (Facultatif) Cliquez sur + AJOUTER UNE ÉTIQUETTE pour ajouter une étiquette à la connexion sous la forme d'une paire clé/valeur.
      26. Cliquez sur Suivant.
    6. Dans la section Destinations, saisissez des informations sur l'hôte distant (système backend) auquel vous souhaitez vous connecter. Si vous vous connectez à un système SAP avec un serveur de messagerie, vous n'avez pas besoin de spécifier l'adresse de l'hôte.
      1. Type de destination : sélectionnez un type de destination.
        • Sélectionnez Adresse de l'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 de point de terminaison dans la liste, puis sélectionnez le rattachement de point de terminaison requis dans la liste Rattachement de 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.
    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 :

        • Authentification basée sur un certificat X509
        • Nom d'utilisateur et mot de passe
      2. Pour savoir comment configurer ce type d'authentification, consultez Configurer l'authentification.

      3. Cliquez sur Suivant.
    8. Si vous avez activé l'abonnement aux événements, la section Détails de l'abonnement aux événements s'affiche sur la page de création de la connexion. Pour savoir comment configurer les détails de l'abonnement aux événements, consultez Configurer l'abonnement aux événements.
    9. Vérifier : vérifiez vos informations de connexion et d'authentification.
    10. Cliquez sur Créer.

    Configurer l'authentification

    Saisissez les informations en fonction de l'authentification que vous souhaitez utiliser.

    • Authentification basée sur un certificat X509
      • X509Certificate : certificat X509 utilisé pour la connexion.
      • Version du secret : sélectionnez la version du secret.
    • Nom d'utilisateur et mot de passe
      • Nom d'utilisateur : nom d'utilisateur pour le connecteur
      • Mot de passe : secret Secret Manager contenant le mot de passe associé au connecteur

    Configurer l'abonnement aux événements

    Si vous activez l'abonnement aux événements, vous devez configurer le SDK ABAP. Pour en savoir plus sur la configuration du SDK ABAP, consultez Présentation du SDK ABAP pour Google Cloud.

    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 du 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. Sélectionnez Activer la connectivité privée pour la connectivité sécurisée entre votre application backend et votre connexion. Si vous sélectionnez cette option, vous devez effectuer des étapes de configuration supplémentaires après avoir créé la connexion. Pour en savoir plus, consultez Connectivité privée pour l'abonnement aux événements.
    4. Saisissez la configuration de lettres mortes. Si vous configurez les lettres mortes, la connexion écrit les événements non traités dans le sujet Pub/Sub spécifié. Saisissez les informations suivantes :
      1. ID du projet de lettres mortes : ID du projet Google Cloud dans lequel vous avez configuré la file d'attente Pub/Sub de lettres mortes.
      2. File d'attente de lettres mortes : sujet Pub/Sub dans lequel vous souhaitez écrire les détails des événements non traités.

    Utiliser une fonction de lecture de tables personnalisées

    RFC_READ_TABLE

    Le connecteur utilise la fonction SAP RFC_READ_TABLE pour obtenir des données à partir de tables SAP.

    Toutefois, elle présente certaines limites. Prenons l'exemple de l'exception DATA_BUFFER_EXCEEDED. La taille de la fonction SAP RFC_READ_TABLE est fixe et s'élève à 512 octets. Il peut effectuer une mise en mémoire tampon pour chaque ligne de données. Par conséquent, la quantité des colonnes sélectionnées ne doit pas dépasser la capacité de ce tampon. Si vous sélectionnez plus de 512 octets, une exception se produit. Cela indique que vous avez dépassé la taille de mémoire tampon maximale autorisée par ligne et que vous devez sélectionner moins de colonnes.

    RFC_READ_TABLE2

    Le connecteur SAP ERP est compatible avec la fonction de lecture de table RFC_READ_TABLE2. Vous pouvez remplacer la fonction de lecture de table active par RFC_READ_TABLE2 en définissant ReadTableFunction sur /SAPDS/RFC_READ_TABLE2.

    Fonctions de lecture de tables personnalisées

    Le connecteur inclut une RFC de table de lecture personnalisée, Z_CUSTOM_READ_TABLE, semblable à la RFC_READ_TABLE SAP, mais avec un tampon plus grand pour résoudre le problème DATA_BUFFER_EXCEEDED et contourner les limites de RFC_READ_TABLE.

    Pour utiliser la fonction RFC read-table personnalisée incluse afin de contourner les limites de la fonction RFC_READ_TABLE par défaut, procédez comme suit :

    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, puis 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ée dans Z_CUSTOM_READ_TABLE.
    2. Dans l'onglet Attributs de l'écran SAP, sélectionnez Remote Enabled Module.
    3. Dans l'onglet Tables, définissez le paramètre DATA sur CHAR8000. Effectuez un clic droit sur l'écran, puis cliquez sur Afficher > Modifier.
    4. Dans l'onglet Code source, collez l'exemple de code source pour le module de fonction RFC_READ_TABLE de remplacement situé dans le sous-dossier db du répertoire d'installation. Le code se trouve dans Z_CUSTOM_READ_TABLE.txt, mais Z_CUSTOM_READ_TABLE_752.txt est préférable si votre instance SAP ERP exécute ABAP 7.52 ou une version ultérieure.
    5. Cliquez sur Enregistrer.
    6. Définissez les importations, les tables et les exceptions comme indiqué dans la documentation sur la lecture de tables personnalisées fournie.
    7. Activez le module de fonction et, dans votre chaîne de connexion, définissez ReadTableFunction sur Z_CUSTOM_READ_TABLE ou sur le nom de votre module de fonction.

    Lecture de table personnalisée ABAP 7.52

    En plus de Z_CUSTOM_READ_TABLE.txt, il existe également un fichier Z_CUSTOM_READ_TABLE_752.txt pour ABAP 7.52 et versions ultérieures. Elle est semblable à Z_CUSTOM_READ_TABLE, mais elle exploite les nouveaux mots clés disponibles dans ABAP 7.52 pour effectuer la pagination dans la base de données plutôt que dans le script ABAP lui-même. Cela rend la pagination efficace lorsque vous travaillez avec de grandes tables.

    Nous vous recommandons d'utiliser la RFC Z_CUSTOM_READ_TABLE_752.

    Configurer l'authentification dans SAP

    Configurez l'authentification dans SAP en suivant les instructions du guide Présentation de l'authentification pour l'édition sur site ou pour une édition cloud du SDK ABAP pour Google Cloud.

    Valider le déclencheur

    Pour valider le déclencheur, vous pouvez créer un programme ABAP. Vous trouverez ci-dessous un exemple de programme ABAP que vous pouvez utiliser comme référence. Le champ ls_event_payload change en fonction de vos besoins :

    *&---------------------------------------------------------------------*
    *& 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.
    

    Quotas et limites

    Pour plus d'informations sur les quotas et les limites, consultez la section Quotas et limites.

    Étape suivante