SAP ERP

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.

Éditions compatibles

Le connecteur SAP ERP peut communiquer avec les systèmes SAP R/3 à l'aide des méthodes suivantes :

  • Interfaces de programmation d'applications métier (BAPI)
  • Appels de fonction à distance (RFC)
  • Tables SAP
  • Requêtes SAP
  • Messages IDoc
Les connexions aux éléments suivants sont acceptées :
  • SAP ECC
  • SAP ERP
  • SAP R/3
  • SAP S/4 HANA sur site
  • Version de SAP JCo

    Ce connecteur nécessite deux fichiers JCo lors de la création de la connexion : sapjco3.jar et libsapjco3.so (pour Unix). Vous pouvez télécharger la version 3.1.5 de JCo sur le site des connecteurs SAP.

  • Si le système SAP accepte une connexion RFC et que les RFC requis sont disponibles, la connexion au système SAP fonctionne. D'autres éditions qui acceptent les connexions RFC peuvent également être compatibles.

Le contenu SAP suivant est accessible depuis le connecteur SAP ERP :

Tables SAP : les tables SAP sont exposées automatiquement en tant que vues par le biais de la propriété de connexion TableMode. Spécifiez les tables SAP que vous souhaitez utiliser à l'aide de la propriété de connexion Views, qui remplace TableMode. SAP déconseille de modifier directement les tables. Il est recommandé d'utiliser des BAPI pour modifier les données tabulaires. La modification directe des tables SAP n'est pas prise en charge.

BAPI et RFC : les BAPI et les RFC sont exposés directement en tant que procédures stockées. Par défaut, tous les RFC commençant par le mot clé BAPI sont affichés en tant que procédure stockée disponible.

IDoc : les fichiers IDoc (Intermediate Document) sont des objets SAP qui transmettent des données de transaction commerciale d'un système à un autre sous la forme d'un message électronique. Les IDocs transfèrent des données de SAP vers des systèmes non SAP via des systèmes d'échange électronique de données (EDI).

Pour en savoir plus sur ces termes, consultez le glossaire SAP.

Avant de commencer

Avant d'utiliser le connecteur SAP ERP, effectuez les tâches suivantes :

  • Dans votre projet Google Cloud :
    • Assurez-vous que la connectivité réseau est configurée. Pour en savoir plus sur les schémas de réseau, consultez Connectivité réseau.
    • Attribuez le rôle IAM roles/connectors.admin à l'utilisateur qui configure le 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 type spécial de compte Google 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 en savoir plus, consultez 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 Activer des services.

    Si ces services ou autorisations n'ont pas encore été activés pour votre projet, vous êtes invité à les activer au moment de configurer le connecteur.

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

  • Vous devez créer un bucket désigné et importer les ID d'objet suivants téléchargés à partir du portail SAP ERP :

    • Chemin d'accès Cloud Storage au fichier JAR JCo : chemin d'accès Cloud Storage au fichier JAR JCo (Java Connector).
    • Chemin d'accès Cloud Storage au fichier libsapjco3 : chemin d'accès Cloud Storage au fichier JAR libsapjco3.

Configurer le connecteur

Une connexion est propre à 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 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 Emplacements.

    2. Cliquez sur Suivant.
  4. 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. 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 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 uu 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 des tables : nom de la fonction à utiliser pour lire les tables. Pour en savoir plus, consultez Utiliser une fonction de lecture de table personnalisée.
    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 les connecteurs d'intégration 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.
  5. 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.
  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 :

      • 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.
  7. 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.
  8. Vérifier : vérifiez vos informations de connexion et d'authentification.
  9. 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.

Exemples de configuration de connexion

Les sections suivantes présentent des exemples de valeurs pour les différents champs que vous configurez lorsque vous créez la connexion SAP ERP, ainsi que les paramètres requis pour les différents types de connexion.

Se connecter à un système SAP distribué

Si vous vous connectez à un système SAP distribué, tel qu'un système utilisant l'équilibrage de charge, vous devez spécifier les propriétés de connexion supplémentaires ci-dessous. Un administrateur peut accéder à ces propriétés de connexion dans l'onglet "Connection" (Connexion) de la boîte de dialogue "System Entry Properties" (Propriétés de l'entrée système) du système SAP.

  • ID système : spécifiez la valeur que vous avez obtenue à partir de la propriété SystemId. Il peut s'agir de l'ID système/du R3Name du système SAP. L'ID système est une chaîne de trois caractères maximum.
  • Serveur de messagerie : lorsque vous vous connectez à un système SAP qui utilise l'équilibrage de charge, vous devez spécifier le champ "Serveur de messagerie". Définissez cette propriété sur la valeur que vous avez obtenue à partir de la propriété MessageServer dans le système SAP. Ajoutez également en préfixe la valeur de la zone "SAProuter" à la valeur du champ "Serveur de messagerie".
  • Groupe : définissez cette propriété sur la valeur que vous avez obtenue à partir de la propriété Group/Server. La propriété "Group" spécifie le groupe de connexion utilisé. La valeur par défaut est PUBLIC.

Se connecter à un serveur d'applications personnalisé

Si vous vous connectez à un système SAP avec un serveur d'applications dédié ou un serveur d'applications personnalisé, vous devez spécifier les propriétés de connexion supplémentaires ci-dessous. Un administrateur peut accéder à ces propriétés de connexion à partir du système SAP.

  • ID système : spécifiez la valeur que vous avez obtenue à partir de la propriété SystemId. Il s'agit de l'ID système ou du R3Name du système SAP. L'ID système est une chaîne de trois caractères maximum.
  • Hôte : spécifiez la valeur que vous avez obtenue à partir du serveur d'applications.

    Il s'agit du nom d'hôte du système cible. Cette valeur peut être un nom d'hôte standard, une adresse IP ou une adresse de routeur SAP.

  • Numéro de système : spécifiez la valeur que vous avez obtenue à partir de la propriété SystemNumber.

    La propriété SystemNumber définit le système cible.

Configurer des connexions réseau sécurisées

Si l'administrateur a configuré des communications réseau sécurisées (SNC), vous devez définir les propriétés supplémentaires suivantes. Dans le système SAP, vous pouvez accéder aux propriétés de chaîne de connexion SNC ci-dessous dans l'onglet "Network" (Réseau) de la boîte de dialogue "System Entry Properties" (Propriétés de l'entrée système).

  • SNCMode : si la case à cocher "Activate Secure Network Connections" (Activer les connexions réseau sécurisées) est activée dans SAP, définissez la propriété de connexion SNCMode sur "true". Sinon, définissez la propriété de connexion SNCMode sur "false".

    La propriété de connexion SNCMode est une valeur booléenne qui détermine si vous utilisez SNC. La valeur par défaut est "false".

  • SNC PartnerName : le nom SNC du partenaire spécifie le nom SNC du serveur d'applications. Par exemple : p:CN=IDS, OU=IT, O=CSW, C=DE
  • SNCName : facultatif. La propriété SNCName spécifie le nom de la connexion SNC. Définissez cette propriété pour vous assurer que le nom SNC approprié est utilisé pour la connexion.
  • SNCQop : définissez cette propriété sur l'option sélectionnée dans la section "Secure Network Settings" (Paramètres du réseau sécurisé). Par exemple, si l'option "Integrity" (Intégrité) est sélectionnée, définissez la propriété SNCQop sur 3.

    La propriété SNCQop spécifie le niveau (ou la qualité) de protection des données. Si cette propriété n'est pas spécifiée, elle sera définie sur l'entier -1. Les valeurs valides sont 1, 2, 3, 8 ou 9, qui correspondent aux niveaux de protection.

  • ID de l'objet SNC_Lib : définissez cette propriété sur le chemin d'accès et le nom de fichier de votre bibliothèque SNC. Spécifiez le chemin d'accès complet à la bibliothèque de sécurité que vous utilisez, par exemple C:\Secude\secude.xll..

Type de connexion ApplicationServer

Pour la connectivité du serveur d'applications, Private Service Connect et l'équilibreur de charge doivent être configurés avec l'adresse IP du système SAP et le port 33XX dans le groupe de points de terminaison du réseau (NEG) et la vérification de l'état. Où XX correspond au numéro de système ou d'instance du système SAP utilisé. Le tableau suivant fournit des exemples de valeurs de configuration pour le type de connexion ApplicationServer. Consultez l'interface de création de connexion dans la console pour connaître les champs obligatoires et facultatifs.

Nom du champ Exemple de valeur
Région us-central1
Connecteur SAP ERP
Version du connecteur 1
Nom du connecteur saperp-applicationserver-conn
Description N/A
Compte de service xxxxxxxxx-compute@developer.gserviceaccount.com
Client 800
Numéro du système 00
ID du projet xxxx-gcp-project
Bucket sap-erp-bucket
ID de l'objet du fichier JAR JCo sapjco3.jar
ID de l'objet libsapjco3 libsapjco3.so
Mode Table TransparentApplication/TransparentCustomer/TransparentSystem/Pooled/Cluster/None
Fonction de lecture de tables Z_CUSTOM_READ_TABLE
Schéma de connexion ApplicationServer
ID du système SA1
Mode de requête N/A
Vues consultables N/A
Niveau de verbosité 5
Nombre minimal de nœuds 2
Nombre maximal de nœuds 50
Adresse de l'hôte 10.30.X.XX ou chaîne de routeur d'un système SAP externe
Authentification Mot de passe utilisateur
Nom d'utilisateur 12345
Mot de passe xyz@12345
Versions 1

Type de connexion avec un serveur de messagerie (serveur de groupe)

Avant de vous connecter à un système SAP avec un serveur de messagerie (serveur de groupe), assurez-vous que les conditions préalables suivantes sont remplies :
  • Private Service Connect et l'équilibreur de charge doivent être configurés avec l'adresse IP du système SAP sur les ports 33XX et 36XX dans le groupe de points de terminaison du réseau (NEG) et la vérification d'état. Où XX correspond au numéro de système ou d'instance du système SAP utilisé.
  • Vous devez créer une zone DNS sur Cloud DNS et mapper le rattachement de point de terminaison du serveur d'applications, qui est configuré sur le port 33XX avec le nom d'hôte du système SAP.
  • Vous ne pouvez vous connecter à un système SAP avec un serveur de messagerie (serveur de groupe) que si le serveur de messagerie renvoie l'adresse du nom de domaine complet (FQDN) du serveur d'applications. Vous ne pouvez pas vous connecter à un système SAP avec un serveur de messagerie (serveur de groupe) si le serveur de messagerie renvoie l'adresse IP.
  • Le serveur de messagerie doit répondre avec le DNS des serveurs d'applications auxquels l'application doit se connecter lorsqu'elle le demande.
  • Le DNS des serveurs d'applications doit être unique et ne doit pas être utilisé par un autre système SAP.
  • Dans l'application SAP, les adresses IP de rattachement de point de terminaison pour les serveurs d'applications et les serveurs de messages doivent être conservées sous les paramètres gw/alternative_hostnames.
    1. Accédez au code de transaction RZ10 et saisissez le paramètre "gw/alternative_hostname" dans le profil d'instance.
    2. Définissez le paramètre ms/lg\_with\_hostname sur 1 pour configurer les versions antérieures à 7.53 du serveur de messagerie SAP afin de renvoyer des noms d'hôte. Les versions 7.53 et ultérieures renvoient les noms d'hôte par défaut.
    3. Redémarrez l'application SAP pour que les paramètres prennent effet.

Le tableau suivant fournit des exemples de valeurs de configuration pour le type de connexion Group Server :

Nom du champ Exemple de valeur
Région us-central1
Connecteur SAP ERP
Version du connecteur 1
Nom du connecteur saperp-groupserver-conn
Description N/A
Compte de service SA-compute@developer.gserviceaccount.com
Client 800
Numéro du système 00
ID du projet Google-cloud-project
Bucket sap-erp-bucket
ID de l'objet du fichier JAR JCo sapjco3.jar
ID de l'objet libsapjco3 libsapjco3.so
Mode Table TransparentApplication/TransparentCustomer/TransparentSystem/Pooled/Cluster/None
Groupe PUBLIC
Serveur de messagerie 10.30.X.XX
Fonction de lecture de tables Z_CUSTOM_READ_TABLE
Schéma de connexion GroupServer
ID du système SA1
Mode de requête N/A
Vues consultables N/A
Niveau de verbosité 5
Nombre minimal de nœuds 2
Nombre maximal de nœuds 50
Authentification Mot de passe utilisateur
Nom d'utilisateur NOM D'UTILISATEUR
Mot de passe PASSWORD
Versions 1

Type de connexion avec certificat X509

Pour les communications réseau sécurisées (SNC) avec connectivité X509, Private Service Connect et l'équilibreur de charge doivent être configurés avec l'adresse IP du système SAP et le port 48XX dans le groupe de points de terminaison du réseau (NEG) et la vérification d'état. Où XX correspond au numéro de système ou d'instance du système SAP utilisé. Le tableau suivant fournit des exemples de valeurs de configuration pour le type de connexion X509 certificate. Consultez l'interface de création de connexion dans la console pour connaître les champs obligatoires et facultatifs.

Nom du champ Exemple de valeur
Région us-central1
Connecteur SAP ERP
Version du connecteur 1
Nom du connecteur saperp-X509Certificate-conn
Description N/A
Compte de service xxxxxxxxx-compute@developer.gserviceaccount.com
Client 800
Numéro du système 00
ID du projet xxxx-gcp-project
Bucket sap-erp-bucket
ID de l'objet du fichier JAR JCo sapjco3.jar
ID de l'objet libsapjco3 libsapjco3.so
Mode Table TransparentApplication/TransparentCustomer/TransparentSystem/Pooled/Cluster/None
ID de l'objet SNC_LIB libsapcrypto.so
Nom PSE pour créer le fichier cred_v2 EHP8_GCP_SA1.pse
Fonction de lecture de tables Z_CUSTOM_READ_TABLE
Schéma de connexion ApplicationServer
ID du système SA1
Code secret SNC xyz@gcp
Mode SNC Valeur booléenne indiquant si vous utilisez SNC. Définissez cette valeur sur "true" pour utiliser SNC.
Nom SNC 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
Mode de requête N/A
Vues consultables N/A
Niveau de verbosité 5
Nombre minimal de nœuds 2
Nombre maximal de nœuds 50
Adresse de l'hôte 10.30.X.XX ou chaîne de routeur du système SAP externe
Authentification Authentification basée sur un certificat X509
X509Certificate Le certificat X509 peut être spécifié à l'aide d'un chemin d'accès à un fichier contenant un certificat X509 au format PEM, d'un blob PEM commençant par l'en-tête "-----BEGIN...", ou d'un blob PEM sans l'en-tête "-----BEGIN...".
Versions 1

Limites du système

Le connecteur SAP ERP peut traiter sept transactions par seconde et par nœud, et limite les transactions au-delà de ce seuil. Par défaut, Integration Connectors alloue deux nœuds (pour améliorer la disponibilité) à une connexion.

Pour en savoir plus sur les limites applicables à Integration Connectors, consultez Limites.

Utiliser la connexion à SAP ERP dans une intégration

Une fois la connexion créée, elle devient disponible dans Apigee Integration et Application Integration. Vous pouvez utiliser la connexion dans une intégration au moyen de la tâche "Connecteurs".

  • Pour savoir comment créer et utiliser la tâche "Connecteurs" dans Apigee Integration, consultez Tâche "Connecteurs".
  • Pour savoir comment créer et utiliser la tâche "Connecteurs" dans Application Integration, consultez Tâche "Connecteurs".

Entités, opérations et actions

Tous les connecteurs Integration Connectors fournissent une couche d'abstraction pour les objets de l'application connectée. Vous ne pouvez accéder aux objets d'une application que par le biais de cette abstraction. L'abstraction vous est présentée en tant qu'entités, opérations et actions.

  • Entité : une entité peut être considérée comme un objet ou un ensemble de propriétés dans l'application ou le service connectés. La définition d'une entité diffère d'un connecteur à l'autre. Par exemple, dans un connecteur de base de données, les tables sont les entités, alors que dans un connecteur de serveur de fichiers, ce sont les dossiers, et dans un connecteur de système de messagerie, ce sont les files d'attente.

    Toutefois, il est possible qu'un connecteur n'accepte ou ne possède aucune entité. Dans ce cas, la liste Entities est vide.

  • Opération : une opération est l'activité que vous pouvez effectuer sur une entité. Voici les opérations possibles :

    Lorsque vous sélectionnez une entité dans la liste proposée, cela génère une liste d'opérations disponibles pour l'entité. Pour obtenir une description détaillée des opérations, consultez les opérations d'entité de la tâche "Connecteurs". Cependant, si un connecteur n'accepte pas l'une des opérations d'entité, cette opération non compatible ne figure pas dans la liste Operations.

  • Action : une action est une fonction de première classe mise à la disposition de l'intégration par le biais de l'interface du connecteur. Une action vous permet de modifier une ou plusieurs entités, et varie d'un connecteur à l'autre. Normalement, une action comporte des paramètres d'entrée et un paramètre de sortie. Toutefois, il est possible qu'un connecteur n'accepte aucune action, auquel cas la liste Actions est vide.

Actions

Cette section fournit des informations sur les RFC et liste les actions compatibles avec le connecteur. Pour savoir comment configurer les actions, consultez Exemples d'actions.

Utiliser des RFC

Cette section fournit des informations sur les RFC requis et leur utilisation.

RFC requis

Si l'un des RFC requis n'est pas disponible, certaines fonctionnalités peuvent ne pas fonctionner. Le code de transaction SE37 permet d'afficher les modules de fonction disponibles dans SAP.

Les RFC suivants sont utilisés par le connecteur SAP ERP.

  • DDIF_FIELDINFO_GET
  • RFC_GET_FUNCTION_INTERFACE
  • RFC_GET_STRUCTURE_DEFINITION
  • RFC_GET_SYSTEM_INFO
  • RFC_GET_UNICODE_STRUCTURE
  • RFC_READ_TABLE
  • SLDAG_CHECK_FOR_UNICODE

Lire de grandes quantités de données

Cette section décrit la procédure à suivre pour lire de grandes quantités de données à partir de votre backend SAP.

Le connecteur SAP ERP utilise la fonction SAP RFC_READ_TABLE pour obtenir des données à partir de tables SAP. Cette fonction a une taille fixe de 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, l'exception DATA_BUFFER_EXCEEDED se produit lors de l'exécution de votre intégration. 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.

Pour résoudre le problème DATA_BUFFER_EXCEEDED, vous pouvez inclure le code d'une Custom RFC_READ_TABLE, semblable à SAP RFC_READ_TABLE, mais avec un tampon plus grand.

Utiliser une fonction de lecture de table personnalisée

Le connecteur est compatible avec une Custom RFC_READ_TABLE semblable à SAP RFC_READ_TABLE, mais avec un tampon plus grand pour éviter le problème DATA_BUFFER_EXCEEDED.

Créer une RFC_READ_TABLE personnalisée dans votre backend SAP

Suivez la procédure ci-dessous pour utiliser l'exemple de fonction 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, 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_RFC_TABLE.
  2. Dans l'onglet Attributes (Attributs) de la page SAP, sélectionnez Remote Enabled Module (Module compatible avec le contrôle à 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 Display > Change (Affichage > Modifier).
  4. Dans l'onglet Source Code (Code source), saisissez le code du RFC pour la lecture de table personnalisée. Pour référence, consultez l'exemple Z_CUSTOM_RFC_TABLE_function.txt.
  5. Cliquez sur Save (Enregistrer).
  6. Définissez les importations, les tables et les exceptions comme indiqué dans la lecture de table personnalisée fournie.
  7. Activez le module de fonction.

Lecture de table personnalisée pour ABAP 7.52

Si vous utilisez ABAP 7.52 ou une version ultérieure, reportez-vous à l'exemple Z_CUSTOM_RFC_TABLE_function_ABAP752.txt. L'exemple de fonction est conçu pour ABAP 7.52 et versions ultérieures. Elle est semblable à la fonction Z_CUSTOM_RFC_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. La pagination est ainsi beaucoup plus efficace et les performances sont améliorées lorsque vous travaillez avec de grandes tables. Nous vous recommandons d'utiliser Z_CUSTOM_RFC_TABLE_752 RFC dans la mesure du possible.

Accéder à la fonction RFC_READ_TABLE

Cette section fournit des informations sur le rôle à attribuer à un utilisateur SAP pour accéder à la fonction RFC_READ_TABLE. Cette fonction est un module de fonction à distance qui permet un accès en lecture générique à des tables arbitraires.

Pour que les tables soient listées sous "Entités" lors de la configuration de la tâche "Connecteurs SAP ERP", vous devez utiliser la fonction RFC_READ_TABLE au niveau de la connexion SAP ERP et être autorisé à accéder à la fonction R/3 RFC_READ_TABLE.

Ajoutez l'autorisation S_TABU_DIS pour l'activité 03 (affichage) et du groupe d'autorisation "SC" pour la fonction RFC_READ_TABLE.

Voici quelques-unes des limites techniques de RFC_READ_TABLE :

  • Seules les tables avec des types de données simples peuvent être lues. Les champs STRING et XSTRING ne sont pas pris en charge.
  • La largeur maximale d'une ligne est de 512 caractères.
  • Le nombre d'enregistrements renvoyés est limité par les seuils de mémoire.

Action BAPI_MATERIAL_SAVEDATA

Cette action vous permet d'effectuer des tâches spécifiques. Par exemple, vous pouvez l'utiliser pour créer ou modifier des données de base d'articles dans SAP ERP.

Paramètres d'entrée de l'action BAPI_MATERIAL_SAVEDATA

Nom du paramètre Type de données Obligatoire Description
HEADDATA Chaîne Oui Paramètre d'entrée HEADDATA.
CLIENTDATA Chaîne Oui Paramètre d'entrée CLIENTDATA.
CLIENTDATAX Chaîne Oui Paramètre d'entrée CLIENTDATAX.
MATERIALDESCRIPTION Chaîne Oui Table MATERIALDESCRIPTION.

Paramètres de sortie de l'action BAPI_MATERIAL_SAVEDATA

Si cette action aboutit, elle renvoie l'état 200 (OK).

Pour savoir comment configurer l'action BAPI_MATERIAL_SAVEDATA, consultez Exemples d'actions.

Action ZFM_GCP_MULTIDATA_TAB

Cette action permet aux utilisateurs d'effectuer des tâches spécifiques. Par exemple, vous pouvez créer des données de plusieurs types dans SAP ERP.

Paramètres d'entrée de l'action ZFM_GCP_MULTIDATA_TAB

Nom du paramètre Type de données Obligatoire Description
ReturnTables Chaîne Oui Liste d'éléments séparés par une virgule qui spécifie les tables du module de fonction à générer. Si ce paramètre n'est pas spécifié, toutes les tables renvoyées seront générées.
T_TABLE Chaîne Oui Table T_TABLE.
IM_INPUT_1 Chaîne Oui Paramètre d'entrée IM_INPUT_1.
IM_INPUT_2 Chaîne Oui Paramètre d'entrée IM_INPUT_2.

Paramètres de sortie de l'action ZFM_GCP_MULTIDATA_TAB

Si cette action aboutit, elle renvoie l'état 200 (OK).

Pour savoir comment configurer l'action ZFM_GCP_MULTIDATA_TAB, consultez Exemples d'actions.

Action PushIDoc

Cette action vous permet d'effectuer des tâches spécifiques. Par exemple, vous pouvez transférer des données de SAP vers un système externe.

Paramètres d'entrée de l'action PushIDoc

Nom du paramètre Type de données Obligatoire Description
FileType Chaîne Oui Type de fichier. Les valeurs autorisées sont XML et IDoc.
Mode Chaîne Oui Mode de transfert. Les valeurs autorisées sont "Sync" et "ASync".
Content Chaîne Oui Contenu du fichier.

Paramètres de sortie de l'action PushIDoc

Si cette action aboutit, elle renvoie l'état 200 (OK).

Pour savoir comment configurer l'action PushIDoc, consultez Exemples d'actions.

Action ExecuteCustomQuery

Cette action permet d'exécuter une requête personnalisée.

Pour créer une requête personnalisée, procédez comme suit :

  1. Suivez les instructions détaillées pour ajouter une tâche "Connecteurs".
  2. Lorsque vous configurez la tâche "Connecteurs", sélectionnez Actions dans le type d'action à effectuer.
  3. Dans la liste Action, sélectionnez Exécuter une requête personnalisée, puis cliquez sur OK.

    Image illustrant execute-custom-query-action Image illustrant execute-custom-query-action

  4. Développez la section Entrée de la tâche, puis procédez comme suit :
    1. Dans le champ Délai d'inactivité après, saisissez le nombre de secondes d'attente jusqu'à l'exécution de la requête.

      Valeur par défaut : 180 secondes.

    2. Dans le champ Nombre maximal de lignes, saisissez le nombre maximal de lignes à renvoyer à partir de la base de données.

      Valeur par défaut : 25

    3. Pour mettre à jour la requête personnalisée, cliquez sur Modifier le script personnalisé. La boîte de dialogue Éditeur de script s'ouvre.

      Image illustrant custom-sql-query Image illustrant custom-sql-query

    4. Dans la boîte de dialogue Éditeur de script, saisissez la requête SQL, puis cliquez sur Enregistrer.

      Vous pouvez utiliser un point d'interrogation (?) dans une instruction SQL pour représenter un seul paramètre devant être spécifié dans la liste des paramètres de requête. Par exemple, la requête SQL suivante sélectionne toutes les lignes de la table Employees correspondant aux valeurs spécifiées pour la colonne LastName :

      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 de séquence.

      Image illustrant add-query-param Image illustrant 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 cette action aboutit, elle 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 d'article à 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 Entrée de la tâche de la tâche Connecteurs, cliquez sur connectorInputPayload, puis saisissez une valeur semblable à la suivante dans le 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, le paramètre de réponse connectorOutputPayload de la tâche BAPI_MATERIAL_SAVEDATA aura une valeur semblable à la suivante :

    [{
    "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'article à 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 Entrée de la tâche de la tâche Connecteurs, cliquez sur connectorInputPayload, puis saisissez une valeur semblable à la suivante dans le 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, le paramètre de réponse connectorOutputPayload de la tâche BAPI_MATERIAL_SAVEDATA aura une valeur semblable à la suivante :

    [{
    "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

Cet exemple supprime un enregistrement d'article à 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 Entrée de la tâche de la tâche Connecteurs, cliquez sur connectorInputPayload, puis saisissez une valeur semblable à la suivante dans le champ Default Value :
    {
    "HEADDATA": "{\"MATERIAL\":\"000000000000009000\",\"BASIC_VIEW\":\"X\"}",
    "CLIENTDATA": "{\"DEL_FLAG\":\"X\"}",
    "CLIENTDATAX": "{\"DEL_FLAG\":\"X\"}"
    }
  4. Si l'action aboutit, le paramètre de réponse connectorOutputPayload de la tâche BAPI_MATERIAL_SAVEDATA aura une valeur semblable à la suivante :

    [{
    "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 Entrée de la tâche de la tâche Connecteurs, cliquez sur connectorInputPayload, puis saisissez une valeur semblable à la suivante dans le 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, le paramètre de réponse connectorOutputPayload de la tâche ZFM_GCP_MULTIDATA_TAB aura une valeur semblable à la suivante :

    [{
    "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

Cet exemple envoie un IDoc à 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 Entrée de la tâche de la tâche Connecteurs, cliquez sur connectorInputPayload, puis saisissez une valeur semblable à la suivante dans le 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. Si l'action aboutit, le paramètre de réponse connectorOutputPayload de la tâche PushIDoc aura une valeur semblable à la suivante :

    [{
    "Result": "Success",
    "Message": "Push IDoc success"
    }]

Exemples d'opérations d'entité

Cette section explique comment effectuer certaines opérations d'entité dans ce connecteur.

Exemple : Lister tous les enregistrements

Cet exemple liste 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. (Facultatif) Dans la section Entrée de la tâche de la tâche Connecteurs, vous pouvez filtrer votre ensemble de résultats en spécifiant une clause de filtre. Indiquez toujours la valeur de la clause de filtre entre guillemets simples (').

Exemple : Récupérer un enregistrement à partir d'une entité

Cet exemple récupère un enregistrement ayant 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 Entrée de la tâche de la tâche Connecteurs, cliquez sur EntityId, puis saisissez 0001 dans le champ Valeur par défaut.

    Ici, 0001 est un ID d'enregistrement unique dans l'entité T001.

Créer des connexions à l'aide de Terraform

Vous pouvez utiliser la ressource Terraform pour créer une connexion.

Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base.

Pour afficher un exemple de modèle Terraform permettant de créer une connexion, consultez 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 Obligatoire Description
client CHAÎNE Oui Client qui s'authentifie auprès du système SAP.
group CHAÎNE Non Groupe de connexion utilisé. En général, cette valeur n'a besoin d'être spécifiée que lorsque vous vous connectez à un système SAP qui utilise l'équilibrage de charge.
message_server CHAÎNE Non Le serveur de messagerie doit être spécifié lorsque vous vous connectez à un système SAP qui utilise l'équilibrage de charge.
read_table_function CHAÎNE Non Fonction à utiliser pour lire les données de la table.
connection_scheme ENUM Non Indique si vous vous connectez à un système SAP avec un serveur de messagerie (GroupServer) ou sans (ApplicationServer). Les valeurs possibles sont "ApplicationServer" et "GroupServer".
system_id CHAÎNE Non 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.
system_number CHAÎNE Oui Numéro définissant le système cible. Il est utilisé pour définir la propriété de connexion à l'hôte.
project_id CHAÎNE Oui ID du projet Google Cloud dans lequel se trouve le bucket Cloud Storage contenant le fichier JAR JCo de SAP.
bucket CHAÎNE Oui Nom du bucket contenant les fichiers sapjco3.jar et libsapjco3.so.
sapjco3_jar CHAÎNE Oui ID de l'objet sapjco3.jar.
libsapjco3_so CHAÎNE Oui ID de l'objet libsapjco3.so.
snc_lib CHAÎNE Non ID de l'objet de la bibliothèque SNC.
snc_mode BOOLÉEN Non Valeur booléenne indiquant si vous utilisez SNC. Définissez cette valeur sur "true" pour utiliser SNC.
snc_name CHAÎNE Non Entrée facultative avec le nom de votre connexion SNC.
snc_qop ENUM Non Qualité de protection de votre connexion SNC. Les valeurs valides sont 1, 2, 3, 8 ou 9, qui correspondent aux niveaux de protection suivants : 1 Appliquer l'authentification uniquement. 2 Appliquer la protection de l'intégrité (authentification). 3 Appliquer la protection de la confidentialité (intégrité et authentification). 8 Appliquer la protection par défaut. 9 Appliquer la protection maximale. Valeurs acceptées : 1, 2, 3, 8 et 9.
snc_partner_name CHAÎNE Non Nom SNC du serveur d'applications. Ce champ est obligatoire lorsque vous utilisez SNC.
query_mode ENUM Non Détermine les tables SAP qui seront affichées en tant que vues, le cas échéant. Valeurs acceptées : Global, Local, All et None.
table_mode ENUM Non Détermine les tables SAP qui seront affichées en tant que vues, le cas échéant. Valeurs acceptées : TransparentApplication, TransparentCustomer, TransparentSystem, Pooled, Cluster, All et None.
verbosity CHAÎNE Non Niveau de verbosité de la connexion, compris entre 1 et 5. Un niveau de verbosité plus élevé consigne tous les détails de la communication (requête, réponse et certificats SSL).

Résoudre les problèmes de configuration de SAP sur site

Si votre système SAP est hébergé sur site, vous devez créer un équilibreur de charge proxy avec NEG hybride.

  1. Créez un tunnel IPsec entre le système sur site et Google Cloud avec des sous-réseaux autorisés.
  2. Autorisez le sous-réseau d'équilibrage de charge et le sous-réseau proxy dans les pare-feu sur site.
  3. Ajoutez tous les ports requis, tels que 33XX pour la connexion au serveur d'applications, 36XX pour la connexion au serveur de messagerie/au serveur de LB, et 48XX pour la connexion SNC-X509. Où XX correspond au numéro de système ou d'instance du système SAP. Ajoutez l'adresse IP requise pour le pare-feu dans la liste d'autorisation d'entrée du projet Google Cloud, par exemple l'adresse IP et le port du LB, l'adresse IP et le port du système SAP.
  4. Configurez un équilibreur de charge réseau proxy interne régional avec NEG hybride. Pour en savoir plus, consultez Équilibreur de charge réseau proxy interne régional avec une connectivité NEG hybride.

Si vous rencontrez une erreur semblable à celle-ci après avoir configuré la connectivité réseau, utilisez la solution ci-dessous pour ajouter l'adresse IP du point de terminaison à la liste d'autorisation.

Initialization of destination SAP--1910584855 failed: Connect from SAP gateway to RFC server failed
connection parameters: TYPE=A DESTINATION=SAP--1910584855 ASHOST=10.128.0.43 SYSNR=00 PCS=1 
LOCATION    SAP-Gateway on host DELVM05S15.bcone.com / sapgw00
ERROR       timeout during allocate
TIME        Wed Apr  3 17:24:40 2024
RELEASE     754
COMPONENT   SAP-Gateway
VERSION     2
RC          242
MODULE      D:/depot/bas/754_REL/src/krn/si/gw/gwr3cpic.c
LINE        2208
DETAIL      no connect of TP sapdp00 from host 10.128.0.43 after 20 sec

COUNTER 2
Solution : Ajoutez l'adresse IP du rattachement de point de terminaison du réseau du connecteur, que vous avez créée dans Google Cloud dans gw/alternative_hostnames au niveau du profil SAP.

Glossaire SAP

SAP : le terme SAP désigne l'ensemble des éditions SAP compatibles. En général, cela indique la version 6 ou ultérieure de SAP ECC. Pour que le connecteur SAP ERP fonctionne, il doit être connecté à une édition de SAP compatible avec le SDK RFC.

Module de fonction : un module de fonction est un type de programme ou de fonction dans SAP qui peut être utilisé pour exécuter presque toutes les opérations. Ces modules peuvent être testés et écrits dans SAP via le code de transaction SE37.

RFC : un appel de fonction à distance (Remote Function Call) est un appel à un FM/RFM donné qui peut être exécuté par des applications externes. Cela inclut l'utilisation de bibliothèques distribuées par SAP, qui sont installées sur le serveur SAP et qui peuvent également être téléchargées sur sap.com. Certains RFM peuvent être conservés ou non lors des mises à niveau de SAP. Il existe des modèles RFM standards fournis par SAP. Par conséquent, ils peuvent présenter des différences ou ne pas exister dans les anciennes éditions. Les modèles RFM personnalisés peuvent être (et sont souvent) créés pour prendre en charge les intégrations. Ils doivent être gérés par le client SAP. Par convention, les RFM personnalisées commencent par la lettre Z.

BAPI : une API métier (BAPI) est une méthode d'API d'un objet métier qui est un module de fonction RFC activé par SAP pour donner accès aux opérations de logique métier. Par exemple, il existe environ 60 BAPI liées uniquement à l'objet Customer. En pratique, seules quelques-unes sont généralement utilisées.

Table SAP : une table SAP est une table qui stocke des données dans SAP. Il ne s'agit pas d'un objet métier. Par exemple, il n'existe pas de table PurchaseOrder dans SAP. En revanche, de nombreuses tables incluent des données de bon de commande, telles que EBAN, EBKN, EINA, EKPO, etc. Par convention, les tables personnalisées commencent par la lettre Z.

Requêtes SAP : une requête SAP est un objet enregistré dans SAP qui contient des informations à récupérer dans une ou plusieurs tables. Elles sont généralement utilisées pour créer des rapports.

Demander de l'aide à la communauté Google Cloud

Vous pouvez publier vos questions et discuter de ce connecteur sur les forums Cloud de la communauté Google Cloud.

Étapes suivantes