Consultez les connecteurs compatibles avec Application Integration.

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 les 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 sur le projet :
    • Administrateur des connecteurs (roles/connectors.admin)
    • Pour en savoir plus sur l'attribution de rôles, consultez la section 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 liste 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 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 dans le volet Récapitulatif de l'intégration de la barre d'outils d'intégration.
      4. Cliquez sur Créer.

      Cela entraîne son ouverture dans l'éditeur d'intégrations.

    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 les connecteurs d'intégration 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 du connecteur. Vous ne pouvez donc 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é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éclencheur d'événement du 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'intégration d'applications n'affiche que les connexions SAP ERP actives 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é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 la 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, 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 49 caractères.
        • Pour les connecteurs compatibles avec l'abonnement aux événements, les noms de connexion ne peuvent pas commencer par le préfixe "goog".
      4. Saisissez éventuellement une description pour la connexion.
      5. Vous pouvez également activer Cloud Logging, puis sélectionner 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. Si vous sélectionnez cette option, les options suivantes s'affichent :
        • 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 pour utiliser la connexion uniquement pour l'abonnement aux événements. Si vous sélectionnez cette option, cliquez sur Suivant, puis sur Configurer l'abonnement aux événements.
      8. Client: client qui s'authentifie auprès du système SAP.
      9. System ID: l'ID système ou R3Name du système SAP est une chaîne de trois caractères maximum. Il est souvent utilisé pour équilibrer la charge des connexions.
      10. Numéro de 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 de l'hôte.
      11. ID du projet: ID du projet Google Cloud où réside le bucket GCS contenant le fichier JAR SAP JCo.
      12. Bucket: nom du bucket contenant les fichiers sapjco3.jar et libsapjco3.so.
      13. ID de l'objet du fichier JAR Jaco: ID de l'objet du fichier JAR JCo.
      14. ID de l'objet libsapjco3: ID de l'objet du fichier JAR libsapjco3.
      15. Mode Tableau: sélectionnez la table SAP à afficher en tant que vue.
      16. Fonction de lecture de table: nom de la fonction à utiliser pour lire les tables. Pour en savoir plus, consultez Utiliser une fonction de table de lecture personnalisée.
      17. ID système: ID système ou R3Name du système SAP. Vous pouvez saisir jusqu'à trois caractères.
      18. Mode de requête: sélectionnez les tables SAP à afficher sous forme de vues.
      19. Vues à parcourir: saisissez une liste de vues à afficher, séparées par une virgule. Exemple :ViewA,ViewB,ViewC
      20. Language (Langue) : définissez cette propriété sur la langue que vous spécifiez lorsque vous vous connectez à SAP. Cette propriété est un code ISO 639-1 correspondant à la langue utilisée par le système SAP. Par défaut, l'anglais est utilisé.
      21. Entrées de service: entrées de service à utiliser pour la connexion.
      22. Mode SNC: sélectionnez cette option pour activer le 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 du SNC: saisissez un nom pour la connexion SNC.
        • SNC qop: sélectionnez un niveau de protection. Voici les niveaux 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'application.
      23. Schéma de connexion: indiquez si vous vous connectez à un système SAP avec un serveur de messages (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 messages, consultez la section Type de connexion Message Server (Group Server).

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

        • Message Server: spécifiez le serveur de messagerie lorsque vous vous connectez à un système SAP qui utilise l'équilibrage de charge.
        • Message Server Service (Service de serveur de messages) : service de serveur de messages 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. 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.

      25. Vous pouvez également cliquer sur + AJOUTER UN LIBELLÉ pour ajouter un libellé à la connexion sous la forme d'une paire clé/valeur.
      26. Cliquez sur Suivant.
    6. Dans la section Destinations, saisissez les informations concernant l'hôte distant (système backend) auquel vous souhaitez vous connecter. Si vous vous connectez à un système SAP avec Message Server, 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 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 configurer des adresses IP sortantes statiques pour vos connexions, puis configurer vos règles de pare-feu pour n'autoriser 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:

        • Authentification basée sur un certificat X509
        • 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 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é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.

    • Authentification basée sur X509Certificate
      • 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 du connecteur
      • Mot de passe : Secret de Secret Manager contenant le mot de passe associé au connecteur.

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

    Utiliser une fonction de table de lecture personnalisée

    RFC_READ_TABLE

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

    Toutefois, il présente certaines limites. Prenons l'exemple de l'exception DATA_BUFFER_EXCEEDED. La RFC_READ_TABLE SAP a une taille fixe de 512 octets. Il peut tamponner pour chaque ligne de données. Vous ne pouvez donc pas sélectionner plus de colonnes que la quantité qui pourrait tenir dans ce tampon. Si vous sélectionnez plus de 512 octets, une exception se produit, indiquant que vous avez dépassé la taille de 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 définir la fonction de lecture de table active sur RFC_READ_TABLE2 en définissant ReadTableFunction sur /SAPDS/RFC_READ_TABLE2.

    Fonctions de table de lecture personnalisées

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

    Pour utiliser la table de lecture personnalisée incluse afin de contourner les limites de l'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é 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 Affichage -> Modifier.
    4. Dans l'onglet Code source, collez l'exemple de code source du 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 la version 7.52 d'ABAP ou une version ultérieure.
    5. Cliquez sur Enregistrer.
    6. Définissez les importations, les tables et les exceptions comme indiqué dans le tableau de lecture personnalisée fourni.
    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.

    Table de lecture 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 la version 7.52 d'ABAP et les versions ultérieures. Il est semblable à Z_CUSTOM_READ_TABLE, mais il 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 le SDK ABAP pour Google Cloud sur site ou pour une édition 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