Se connecter aux systèmes SAP à partir d’Azure Logic AppsConnect to SAP systems from Azure Logic Apps

Important

Les connecteurs Serveur d’applications SAP et Serveur de messagerie SAP antérieurs ont été dépréciés le 29 février 2020.The earlier SAP Application Server and SAP Message Server connectors are deprecated on February 29, 2020. Le connecteur SAP actuel regroupe ces connecteurs SAP antérieurs : vous ne devez donc pas changer le type de connexion, il est entièrement compatible avec les connecteurs précédents, il offre de nombreuses fonctionnalités supplémentaires et continue d’utiliser la bibliothèque de connecteurs .NET SAP (SAP NCo).The current SAP connector consolidates these previous SAP connectors so that you don't have to change the connection type, is fully compatible with previous connectors, provides many additional capabilities, and continues to use the SAP .Net connector library (SAP NCo).

Pour les applications logiques qui utilisent les connecteurs plus anciens, migrez vers le connecteur le plus récent avant la date de dépréciation.For logic apps that use the older connectors, please migrate to the latest connector before the deprecation date. Sinon, ces applications logiques subiront des échecs d’exécution et ne seront pas en mesure d’envoyer des messages à votre système SAP.Otherwise, these logic apps will experience execution failures and won't be able to send messages to your SAP system.

Cet article explique comment accéder à vos ressources SAP locales à partir d’une application logique en utilisant le connecteur SAP.This article shows how you can access your on-premises SAP resources from inside a logic app by using the SAP connector. Le connecteur fonctionne avec les versions classiques de SAP, telles que les systèmes R/3 et ECC locaux.The connector works with SAP's classic releases such as R/3 and ECC systems on-premises. Le connecteur permet également l’intégration aux nouveaux systèmes SAP basés sur HANA, tels que S/4 HANA, qu’ils soient hébergés localement ou dans le cloud.The connector also enables integration with SAP's newer HANA-based SAP systems, such as S/4 HANA, whether they're hosted on-premises or in the cloud. Le connecteur SAP prend en charge l’intégration de messages ou de données vers et depuis des systèmes SAP NetWeaver via IDoc (Intermediate Document), BAPI (Business Application Programming Interface) ou RFC (Remote Function Call).The SAP connector supports message or data integration to and from SAP NetWeaver-based systems through Intermediate Document (IDoc), Business Application Programming Interface (BAPI), or Remote Function Call (RFC).

Le connecteur SAP utilise la bibliothèque NCo (.NET Connector) SAP et fournit les actions suivantes :The SAP connector uses the SAP .NET Connector (NCo) library and provides these actions:

  • Envoyer un message à SAP : envoyer un IDoc sur tRFC, appeler des fonctions BAPI sur RFC ou appeler RFC/tRFC dans des systèmes SAP.Send message to SAP: Send IDoc over tRFC, call BAPI functions over RFC, or call RFC/tRFC in SAP systems.

  • Quand un message est reçu de SAP : recevoir un IDoc sur tRFC, appeler des fonctions BAPI sur tRFC ou appeler RFC/tRFC dans des systèmes SAP.When a message is received from SAP: Receive IDoc over tRFC, call BAPI functions over tRFC, or call RFC/tRFC in SAP systems.

  • Générer des schémas : générer des schémas pour les artefacts SAP pour IDoc, BAPI ou RFC.Generate schemas: Generate schemas for the SAP artifacts for IDoc, BAPI, or RFC.

Pour ces opérations, le connecteur SAP prend en charge l’authentification de base via un nom d’utilisateur et un mot de passe.For these operations, the SAP connector supports basic authentication through usernames and passwords. Le connecteur prend également en charge Secure Network Communications (SNC).The connector also supports Secure Network Communications (SNC). SNC peut être utilisé pour l’authentification unique SAP NetWeaver ou pour des fonctionnalités de sécurité supplémentaires fournies par un produit de sécurité externe.SNC can be used for SAP NetWeaver single sign-on (SSO) or for additional security capabilities provided by an external security product.

Cet article explique comment créer des exemples d’applications logiques qui s’intègrent à SAP en couvrant les scénarios d’intégration décrits précédemment.This article shows how to create example logic apps that integrate with SAP while covering the previously described integration scenarios. Pour les applications logiques qui utilisent les connecteurs SAP plus anciens, cet article montre comment migrer vos applications logiques vers le connecteur SAP le plus récent.For logic apps that use the older SAP connectors, this article shows how to migrate your logic apps to the latest SAP connector.

PrérequisPrerequisites

Pour suivre cet article, vous avez besoin de ces éléments :To follow along with this article, you need these items:

  • Un abonnement Azure.An Azure subscription. Si vous n’avez pas encore d’abonnement Azure, inscrivez-vous pour bénéficier d’un compte Azure gratuit.If you don't have an Azure subscription yet, sign up for a free Azure account.

  • L’application logique à partir de laquelle vous souhaitez accéder à votre système SAP et un déclencheur qui démarre le flux de travail de votre application logique.The logic app from where you want to access your SAP system and a trigger that starts your logic app's workflow. Si vous débutez avec les applications logiques, consultez Qu’est-ce qu’Azure Logic Apps ? et Démarrage rapide : Créer votre première application logique.If you're new to logic apps, see What is Azure Logic Apps? and Quickstart: Create your first logic app.

  • Votre serveur d’applications SAP ou serveur de messagerie SAP.Your SAP application server or SAP message server.

  • Le contenu du message que vous pouvez envoyer à votre serveur SAP, comme un exemple de fichier IDoc, doit être au format XML et inclure l’espace de noms pour l’action SAP que vous souhaitez utiliser.Message content you can send to your SAP server, such as a sample IDoc file, must be in XML format and include the namespace for the SAP action you want to use.

  • Pour utiliser le déclencheur Quand un message est reçu de SAP, vous devez également effectuer les étapes de configuration suivantes :To use the When a message is received from SAP trigger, you also need to perform these setup steps:

    • Configurez les autorisations de sécurité de votre passerelle SAP avec ce paramètre :Set up your SAP gateway security permissions with this setting:

      "TP=Microsoft.PowerBI.EnterpriseGateway HOST=<gateway-server-IP-address> ACCESS=*"

    • Configurez la journalisation de sécurité de votre passerelle SAP, qui permet de rechercher les erreurs de liste de contrôle d’accès (ACL, access-control list) et n’est pas activée par défaut.Set up your SAP gateway security logging, which helps find Access Control List (ACL) errors and isn't enabled by default. Dans le cas contraire, vous recevez l’erreur suivante :Otherwise, you get the following error:

      "Registration of tp Microsoft.PowerBI.EnterpriseGateway from host <host-name> not allowed"

      Pour plus d’informations, consultez la rubrique d’aide SAP Configuration de la journalisation de la passerelle.For more information, see the SAP help topic, Setting up gateway logging.

Conditions préalables pour une instance Azure mutualiséeMulti-tenant Azure prerequisites

Ces conditions préalables s’appliquent lorsque vos applications logiques s’exécutent dans une instance Azure mutualisée et que vous souhaitez utiliser le connecteur SAP managé, qui ne s’exécute pas en mode natif dans un environnement de service d’intégration (ISE).These prerequisites apply when your logic apps run in multi-tenant Azure, and you want to use the managed SAP connector, which doesn't run natively in an integration service environment (ISE). Dans le cas contraire, si vous utilisez un ISE de niveau Premium et souhaitez utiliser le connecteur SAP qui s’exécute en mode natif dans l’ISE, consultez Conditions préalables de l’environnement de service d’intégration (ISE).Otherwise, if you're using a Premium-level ISE and want to use the SAP connector that runs natively in the ISE, see Integration service environment (ISE) prerequisites.

Le connecteur SAP managé (non-ISE) s’intègre aux systèmes SAP locaux via la passerelle de données locale.The managed (non-ISE) SAP connector integrates with on-premises SAP systems through the on-premises data gateway. Par exemple, dans les scénarios d’envoi de messages, lorsqu’un message est envoyé d’une application logique à un système SAP, la passerelle de données agit comme un client RFC et transfère les demandes reçues de l’application logique à SAP.For example, in send message scenarios, when a message is sent from a logic app to an SAP system, the data gateway acts as an RFC client and forwards the requests received from the logic app to SAP. De même, dans les scénarios de réception de messages, la passerelle de données agit en tant que serveur RFC qui reçoit des demandes de SAP et les transfère à l’application logique.Likewise, in receive message scenarios, the data gateway acts as an RFC server that receives requests from SAP and forwards them to the logic app.

Conditions préalables pour l’environnement de service d’intégration (ISE)Integration service environment (ISE) prerequisites

Ces conditions préalables s’appliquent lorsque vos applications logiques s’exécutent dans un environnement de service d’intégration (ISE) au niveau Premium (et non au niveau du développeur) et que vous souhaitez utiliser le connecteur SAP qui s’exécute en mode natif dans un ISE.These prerequisites apply when your logic apps run in a Premium-level (not Developer-level) integration service environment (ISE), and you want to use the SAP connector that runs natively in an ISE. Un ISE fournit un accès aux ressources protégées par un réseau virtuel Azure et offre d’autres connecteurs ISE natifs qui permettent aux applications logiques d’accéder directement à des ressources locales sans utiliser la passerelle de données locale.An ISE provides access to resources that are protected by an Azure virtual network and offers other ISE-native connectors that let logic apps directly access on-premises resources without using on-premises data gateway.

Notes

Bien que le connecteur ISE SAP soit visible au sein d’un ISE au niveau du développeur, les tentatives d’installation du connecteur échouent.Although the SAP ISE connector is visible inside a Developer-level ISE, attempts to install the connector won't succeed.

  1. Si vous ne disposez pas déjà d’un compte de stockage Azure et d’un conteneur d’objets blob, créez ce conteneur à l’aide du portail Azure ou d’Explorateur Stockage Azure.If you don't already have an Azure Storage account and a blob container, create that container by using either the Azure portal or Azure Storage Explorer.

  2. Téléchargez et installez la dernière bibliothèque de client SAP sur votre ordinateur local.Download and install the latest SAP client library on your local computer. Vous devez disposer des fichiers d’assembly suivants :You should have the following assembly files:

    • libicudecnumber.dlllibicudecnumber.dll
    • rscp4n.dllrscp4n.dll
    • sapnco.dllsapnco.dll
    • sapnco_utils.dllsapnco_utils.dll
  3. Créez un fichier .zip qui comprend ces assemblys et chargez ce package dans votre conteneur d’objets blob dans Stockage Azure.Create a .zip file that includes these assemblies and upload this package to your blob container in Azure Storage.

  4. Dans le portail Azure ou Explorateur Stockage Azure, accédez à l’emplacement du conteneur dans lequel vous avez chargé le fichier .zip.In either the Azure portal or Azure Storage Explorer, browse to the container location where you uploaded the .zip file.

  5. Copiez l’URL de cet emplacement, en veillant à inclure le jeton de signature d’accès partagé.Copy the URL for that location, making sure that you include the Shared Access Signature (SAS) token.

    Dans le cas contraire, le jeton de signature d’accès partagé n’est pas autorisé et le déploiement du connecteur ISE SAP échoue.Otherwise, the SAS token doesn't get authorized, and deployment for the SAP ISE connector will fail.

  6. Avant de pouvoir utiliser le connecteur ISE SAP, vous devez installer et déployer le connecteur dans votre ISE.Before you can use the SAP ISE connector, you need to install and deploy the connector in your ISE.

    1. Dans le portail Azure, recherchez et ouvrez votre ISE.In the Azure portal, find and open your ISE.

    2. Dans le menu ISE, sélectionnez Connecteurs managés > Ajouter.On the ISE menu, select Managed connectors > Add. Dans la liste des connecteurs, recherchez et sélectionnez SAP.From the connectors list, find and select SAP.

    3. Dans le volet Ajouter un nouveau connecteur managé, dans la zone Package SAP, collez l’URL du fichier .zip qui contient les assemblys SAP.On the Add a new managed connector pane, in the SAP package box, paste the URL for the .zip file that has the SAP assemblies. Veillez à inclure le jeton de signature d’accès partagé.Make sure that you include the SAS token.

    4. Sélectionnez Créer lorsque vous avez terminé.When you're done, select Create.

    Pour plus d’informations, consultez Ajouter des connecteurs ISE.For more information, see Add ISE connectors.

  7. Si votre instance SAP et votre ISE se trouvent dans des réseaux virtuels différents, vous devez également associer ces réseaux par Peering afin que le réseau virtuel de votre ISE soit connecté au réseau virtuel de votre instance SAP.If your SAP instance and ISE are in different virtual networks, you also need to peer those networks so that your ISE's virtual network is connected to your SAP instance's virtual network.

Conditions préalables pour la bibliothèque de client SAPSAP client library prerequisites

  • Veillez à installer la dernière version du connecteur SAP (NCo 3.0) pour Microsoft .NET 3.0.22.0 compilé avec .NET Framework 4.0 – Windows 64 bits (x64).Make sure that you install the latest version, SAP Connector (NCo 3.0) for Microsoft .NET 3.0.22.0 compiled with .NET Framework 4.0 - Windows 64-bit (x64). Les versions antérieures peuvent entraîner des problèmes de compatibilité.Earlier versions can result in compatibility problems. Pour plus d’informations, consultez les versions de la bibliothèque de client SAP.For more information, see SAP client library versions.

  • Par défaut, le programme d’installation SAP place les fichiers d’assembly dans le dossier d’installation par défaut.By default, the SAP installer puts the assembly files in the default installation folder. Vous devez copier ces fichiers d’assembly vers un autre emplacement, en fonction de votre scénario, comme suit :You need to copy these assembly files to another location, based on your scenario as follows:

    Pour les applications logiques qui s’exécutent dans un ISE, suivez les étapes décrites dans les conditions préalables pour l’environnement de service d’intégration.For logic apps that run in an ISE, follow the steps described in the integration service environment prerequisites. Pour les applications logiques qui s’exécutent dans une instance Azure mutualisée et utilisent la passerelle de données locale, copiez les fichiers d’assembly du dossier d’installation par défaut vers le dossier d’installation de la passerelle de données.For logic apps that run in multi-tenant Azure and use the on-premises data gateway, copy the assembly files from the default installation folder to the data gateway installation folder. Si vous rencontrez des problèmes avec la passerelle de données, passez en revue les points suivants :If you run into problems with the data gateway, review the following issues:

    • Vous devez installer la version 64 bits pour la bibliothèque de client SAP, car la passerelle de données s’exécute uniquement sur des systèmes 64 bits.You must install the 64-bit version for the SAP client library because the data gateway runs only on 64-bit systems. Dans le cas contraire, vous obtenez une erreur « image incorrecte », car le service hôte de la passerelle de données ne prend pas en charge les assemblys 32 bits.Otherwise, you get a "bad image" error because the data gateway host service doesn't support 32-bit assemblies.

    • Si votre connexion SAP échoue avec le message d’erreur « Vérifiez vos informations de compte et vos autorisations, puis réessayez », les fichiers d’assembly peuvent se trouver au mauvais emplacement.If your SAP connection fails with the error message "Please check your account info and/or permissions and try again", the assembly files might be in the wrong location. Veillez à copier les fichiers d’assembly dans le dossier d’installation de la passerelle de données.Make sure that you copied the assembly files to the data gateway installation folder.

      Pour vous aider à résoudre le problèmes, utilisez la visionneuse du journal de liaison d’assembly .NET, qui vous permet de vérifier que les fichiers d’assembly se trouvent à l’emplacement approprié.To help you troubleshoot, use the .NET assembly binding log viewer, which lets you check that the assembly files are in the correct location. Si vous le souhaitez, vous pouvez sélectionner l’option Inscription du Global Assembly Cache lors de l’installation de la bibliothèque de client SAP.Optionally, you can select the Global Assembly Cache registration option when you install the SAP client library.

Versions de la bibliothèque de client SAPSAP client library versions

Les versions antérieures du NCo SAP peuvent subir un interblocage quand plusieurs messages IDoc sont envoyés en même temps.Earlier SAP NCo versions might become deadlocked when more than one IDoc message is sent at the same time. Cette situation bloque tous les messages envoyés ultérieurement à la destination SAP, ce qui engendre une expiration des messages.This condition blocks all later messages that are sent to the SAP destination, which causes the messages to time out.

Voici les relations entre la bibliothèque de client SAP, le .NET Framework, le runtime .NET et la passerelle :Here are the relationships between the SAP client library, the .NET Framework, the .NET runtime, and the gateway:

  • L’adaptateur SAP Microsoft et le service hôte de la passerelle utilisent tous deux .NET Framework 4.5.Both the Microsoft SAP Adapter and the gateway host service use .NET Framework 4.5.

  • Le NCo SAP pour .NET Framework 4.0 fonctionne avec les processus qui utilisent un runtime .NET 4.0 à 4.7.1.The SAP NCo for .NET Framework 4.0 works with processes that use .NET runtime 4.0 to 4.7.1.

  • Le NCo SAP pour .NET Framework 2.0 fonctionne avec les processus qui utilisent un runtime .NET 2.0 à 3.5, mais ne fonctionne plus avec la passerelle la plus récente.The SAP NCo for .NET Framework 2.0 works with processes that use .NET runtime 2.0 to 3.5, but no longer works with the latest gateway.

Conditions préalables pour Secure Network CommunicationsSecure Network Communications prerequisites

Si vous utilisez la passerelle de données locale avec la couche logicielle Secure Network Communications (SNC) facultative, qui est prise en charge uniquement dans une instance Azure mutualisée, vous devez également configurer ces paramètres :If you use the on-premises data gateway with the optional Secure Network Communications (SNC), which is supported only in multi-tenant Azure, you also need to configure these settings:

  • Si vous utilisez SNC avec l’authentification unique (SSO), assurez-vous que la passerelle de données s’exécute en tant qu’utilisateur mappé à l’utilisateur SAP.If you use SNC with Single Sign On (SSO), make sure the data gateway is running as a user that's mapped against the SAP user. Pour modifier le compte par défaut, sélectionnez Changer de compte, puis entrez les informations d’identification de l’utilisateur.To change the default account, select Change account, and enter the user credentials.

    Modifier le compte de la passerelle de données

  • Si vous activez SNC avec un produit de sécurité externe, copiez la bibliothèque ou les fichiers SNC sur le même ordinateur que celui sur lequel la passerelle de données est installée.If you enable SNC with an external security product, copy the SNC library or files on the same computer where the data gateway is installed. sapseculib, Kerberos et NTLM sont des exemples de produits SNC.Some examples of SNC products include sapseculib, Kerberos, and NTLM.

Pour plus d’informations sur l’activation de SNC pour la passerelle de données, consultez Activer Secure Network Communications.For more information about enabling SNC for the data gateway, see Enable Secure Network Communications.

Migrer vers le connecteur actuelMigrate to current connector

Pour migrer d’un connecteur SAP (non ISE) managé antérieur vers le connecteur SAP managé actuel, procédez comme suit :To migrate from an earlier managed (non-ISE) SAP connector to the current managed SAP connector, follow these steps:

  1. Si vous ne l’avez pas déjà fait, mettez à jour votre passerelle de données locale afin de disposer de la version la plus récente.If you haven't done so already, update your on-premises data gateway so that you have the latest version. Pour plus d’informations, consultez Installer une passerelle de données locale pour Azure Logic Apps.For more information, see Install an on-premises data gateway for Azure Logic Apps.

  2. Dans l’application logique qui utilise l’ancien connecteur SAP, supprimez l’action Envoyer à SAP.In the logic app that uses the older SAP connector, delete the Send to SAP action.

  3. À partir du connecteur SAP le plus récent, ajoutez l’action Envoyer un message à SAP.From the latest SAP connector, add the Send message to SAP action. Avant de pouvoir utiliser cette action, vous devez recréer la connexion à votre système SAP.Before you can use this action, recreate the connection to your SAP system.

  4. Lorsque vous avez terminé, enregistrez votre application logique.When you're done, save your logic app.

Envoyer un message à SAPSend message to SAP

Cet exemple utilise une application logique que vous pouvez déclencher à l’aide d’une requête HTTP.This example uses a logic app that you can trigger with an HTTP request. L’application logique envoie un IDoc à un serveur SAP et retourne une réponse au demandeur qui a appelé l’application logique.The logic app sends an IDoc to an SAP server and returns a response to the requestor that called the logic app.

Ajouter un déclencheur de requête HTTPAdd an HTTP Request trigger

Dans Azure Logic Apps, chaque application logique doit démarrer avec un déclencheur, qui s’active lorsqu’un événement spécifique se produit ou lorsqu’une condition particulière est remplie.In Azure Logic Apps, every logic app must start with a trigger, which fires when a specific event happens or when a specific condition is met. Chaque fois que le déclencheur s’active, le moteur Logic Apps crée une instance d’application logique et lance l’exécution du flux de travail de votre application.Each time the trigger fires, the Logic Apps engine creates a logic app instance and starts running your app's workflow.

Notes

Lorsqu’une application logique reçoit des paquets IDoc de SAP, le déclencheur de requête ne prend pas en charge le schéma XML « brut » généré par la documentation WE60 IDoc de SAP.When a logic app receives IDoc packets from SAP, the request trigger doesn't support the "plain" XML schema generated by SAP's WE60 IDoc documentation. Toutefois, le schéma XML « brut » est pris en charge pour les scénarios qui envoient des messages d’applications logiques à SAP.However, the "plain" XML schema is supported for scenarios that send messages from logic apps to SAP. Vous pouvez utiliser le déclencheur de requête avec le XML IDoc de SAP, mais pas avec IDoc sur RFC.You can use the request trigger with SAP's IDoc XML, but not with IDoc over RFC. Vous pouvez également transformer le XML au format requis.Or, you can transform the XML to the necessary format.

Dans cet exemple, vous allez créer une application logique avec un point de terminaison dans Azure afin de pouvoir envoyer des requêtes HTTP POST à votre application logique.In this example, you create a logic app with an endpoint in Azure so that you can send HTTP POST requests to your logic app. Lorsque votre application logique reçoit ces requêtes HTTP, le déclencheur est activé et passe à l’étape suivante de votre flux de travail.When your logic app receives these HTTP requests, the trigger fires and runs the next step in your workflow.

  1. Dans le portail Azure, créez une application logique vide, ce qui ouvre le Concepteur d’application logique.In the Azure portal, create a blank logic app, which opens the Logic App Designer.

  2. Dans la zone de recherche, entrez http request en guise de filtre.In the search box, enter http request as your filter. Dans la liste Déclencheurs, sélectionnez Lors de la réception d’une requête HTTP.From the Triggers list, select When a HTTP request is received.

    Ajouter un déclencheur de requête HTTP

  3. Enregistrez maintenant votre application logique pour pouvoir générer une URL de point de terminaison pour votre application logique.Now save your logic app so that you can generate an endpoint URL for your logic app. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer.On the designer toolbar, select Save.

    L’URL du point de terminaison s’affiche désormais dans votre déclencheur, par exemple :The endpoint URL now appears in your trigger, for example:

    Générer une URL pour le point de terminaison

Ajouter une action SAPAdd an SAP action

Dans Azure Logic Apps, une action est une étape de votre flux de travail qui suit un déclencheur ou une autre action.In Azure Logic Apps, an action is a step in your workflow that follows a trigger or another action. Si vous n’avez pas encore ajouté de déclencheur à votre application logique et que vous souhaitez suivre cet exemple, ajoutez le déclencheur décrit dans cette section.If you haven't added a trigger to your logic app yet and want to follow this example, add the trigger described in this section.

  1. Dans le Concepteur d’application logique, sous le déclencheur, sélectionnez Nouvelle étape.In the Logic App Designer, under the trigger, select New step.

    Ajouter une nouvelle étape à l’application logique

  2. Dans la zone de recherche, entrez sap en guise de filtre.In the search box, enter sap as your filter. Dans la liste Actions, sélectionnez Envoyer un message à SAP.From the Actions list, select Send message to SAP.

    Sélectionner l’action « Envoyer un message à SAP »

    Vous pouvez aussi sélectionner l’onglet Entreprise et sélectionner l’action SAP.Or, you can select the Enterprise tab, and select the SAP action.

    Sélectionner l’action « Envoyer un message à SAP » sous l’onglet Entreprise

  3. Si votre connexion existe déjà, passez à l’étape suivante afin de configurer votre action SAP.If your connection already exists, continue with the next step so you can set up your SAP action. Toutefois, si vous êtes invité à entrer les détails de la connexion, fournissez ces informations pour pouvoir créer une connexion à votre serveur SAP local.However, if you're prompted for connection details, provide the information so that you can create a connection to your on-premises SAP server.

    1. Entrez un nom pour la connexion.Provide a name for the connection.

    2. Si vous utilisez la passerelle de données, procédez comme suit :If you're using the data gateway, follow these steps:

      1. Dans la section Passerelle de données, sous Abonnement, sélectionnez d’abord l’abonnement Azure pour la ressource de passerelle de données que vous avez créée dans le portail Azure pour l’installation de votre passerelle de données.In the Data Gateway section, under Subscription, first select the Azure subscription for the data gateway resource that you created in the Azure portal for your data gateway installation.

      2. Sous Passerelle de connexion, sélectionnez votre ressource de passerelle de données dans Azure.Under Connection Gateway, select your data gateway resource in Azure.

    3. Continuez à fournir des informations sur la connexion.Continue providing information about the connection. Pour la propriété Type de connexion, suivez l’étape selon que la propriété est définie sur Serveur d’applications ou sur Groupe :For the Logon Type property, follow the step based on whether the property is set to Application Server or Group:

      • Pour Serveur d’applications, les propriétés suivantes, qui apparaissent habituellement comme facultatives, sont obligatoires :For Application Server, these properties, which usually appear optional, are required:

        Créer une connexion au serveur d’applications SAP

      • Pour Groupe, les propriétés suivantes, qui apparaissent habituellement comme facultatives, sont obligatoires :For Group, these properties, which usually appear optional, are required:

        Créer une connexion au serveur de messagerie SAP

      Par défaut, le typage fort est utilisé pour rechercher des valeurs non valides en effectuant une validation XML par rapport au schéma.By default, strong typing is used to check for invalid values by performing XML validation against the schema. Ce comportement peut vous aider à détecter les problèmes plus tôt.This behavior can help you detect issues earlier. L’option Types sécurisés est disponible pour la compatibilité descendante et ne vérifie que la longueur de chaîne.The Safe Typing option is available for backward compatibility and only checks the string length. Apprenez-en davantage sur l’option Types sécurisés.Learn more about the Safe Typing option.

    4. Quand vous avez terminé, sélectionnez Créer.When you're finished, select Create.

      Logic Apps configure et teste votre connexion pour vérifier son bon fonctionnement.Logic Apps sets up and tests your connection to make sure that the connection works properly.

  4. Maintenant, recherchez et sélectionnez une action à partir de votre serveur SAP.Now find and select an action from your SAP server.

    1. Dans la zone Action SAP, sélectionnez l’icône de dossier.In the SAP Action box, select the folder icon. Dans la liste des fichiers, recherchez et sélectionnez l’action que vous voulez utiliser.From the file list, find and select the SAP message you want to use. Pour naviguer dans la liste, utilisez les flèches.To navigate the list, use the arrows.

      Cet exemple sélectionne un IDoc avec le type Commandes.This example selects an IDoc with the Orders type.

      Rechercher et sélectionner l’action IDoc

      Si vous ne trouvez pas l’action que vous souhaitez, vous pouvez entrer un chemin d’accès manuellement, par exemple :If you can't find the action you want, you can manually enter a path, for example:

      Fournir manuellement le chemin d’accès à l’action IDoc

      Conseil

      Spécifiez la valeur de l’action SAP via l’éditeur d’expressions.Provide the value for SAP Action through the expression editor. De cette façon, vous pouvez utiliser la même action pour différents types de messages.That way, you can use the same action for different message types.

      Pour plus d’informations sur les opérations IDoc, consultez Schémas de message pour les opérations IDoc.For more information about IDoc operations, see Message schemas for IDoc operations.

    2. Cliquez dans la zone Message d’entrée pour afficher la liste du contenu dynamique.Click inside the Input Message box so that the dynamic content list appears. Dans cette liste, sous Lors de la réception d’une demande HTTP, sélectionnez le champ Corps.From that list, under When a HTTP request is received, select the Body field.

      Cette étape inclut le contenu du corps de votre déclencheur de requête HTTP et envoie ce résultat à votre serveur SAP.This step includes the body content from your HTTP Request trigger and sends that output to your SAP server.

      Sélectionner la propriété « Body » de déclencheur

      Une fois que vous avez terminé, votre action SAP ressemble à cet exemple :When you're finished, your SAP action looks like this example:

      Terminer l’action SAP

  5. Enregistrez votre application logique.Save your logic app. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer.On the designer toolbar, select Save.

Ajouter une action de réponse HTTPAdd an HTTP response action

Ajoutez maintenant une action de réponse au flux de travail de votre application logique et incluez le résultat de l’action SAP.Now add a response action to your logic app's workflow and include the output from the SAP action. De cette façon, votre application logique renvoie les résultats à partir de votre serveur SAP au demandeur d’origine.That way, your logic app returns the results from your SAP server to the original requestor.

  1. Dans le Concepteur d’application logique, sous l’action SAP, sélectionnez Nouvelle étape.In the Logic App Designer, under the SAP action, select New step.

  2. Dans la zone de recherche, entrez response en guise de filtre.In the search box, enter response as your filter. Dans la liste Actions, sélectionnez Réponse.From the Actions list, select Response.

  3. Cliquez dans la zone Corps pour afficher la liste du contenu dynamique.Click inside the Body box so that the dynamic content list appears. Dans cette liste, sous Envoyer un message à SAP, sélectionnez le champ Corps.From that list, under Send message to SAP, select the Body field.

    Terminer l’action SAP

  4. Enregistrez votre application logique.Save your logic app.

Tester votre application logiqueTest your logic app

  1. Si votre application logique n’est pas déjà activée, dans le menu associé, sélectionnez Vue d’ensemble.If your logic app isn't already enabled, on your logic app menu, select Overview. Dans la barre d’outils, sélectionnez Activer.On the toolbar, select Enable.

  2. Dans la barre d’outils du concepteur, sélectionnez Exécuter.On the designer toolbar, select Run. Cette étape démarre manuellement votre application logique.This step manually starts your logic app.

  3. Déclenchez votre application logique en envoyant une requête HTTP POST à l’URL de votre déclencheur de requête HTTP.Trigger your logic app by sending an HTTP POST request to the URL in your HTTP Request trigger. Incluez le contenu du message avec votre requête.Include your message content with your request. Pour envoyer la requête, vous pouvez utiliser un outil tel que Postman.To the send the request, you can use a tool such as Postman.

    Pour cet article, la requête envoie un fichier IDoc, qui doit être au format XML et inclure l’espace de noms de l’action SAP que vous utilisez, par exemple :For this article, the request sends an IDoc file, which must be in XML format and include the namespace for the SAP action you're using, for example:

    <?xml version="1.0" encoding="UTF-8" ?>
    <Send xmlns="http://Microsoft.LobServices.Sap/2007/03/Idoc/2/ORDERS05//720/Send">
       <idocData>
          <...>
       </idocData>
    </Send>
    
  4. Une fois votre requête HTTP envoyée, attendez la réponse de votre application logique.After you send your HTTP request, wait for the response from your logic app.

    Notes

    Votre application logique peut expirer si toutes les étapes nécessaires pour la réponse ne se terminent pas dans la limite de délai d’attente des requêtes.Your logic app might time out if all the steps required for the response don't finish within the request timeout limit. Si cette situation se produit, les requêtes peuvent être bloquées.If this condition happens, requests might get blocked. Pour vous aider à diagnostiquer les problèmes, découvrez comment vous pouvez vérifier et surveiller vos applications logiques.To help you diagnose problems, learn how you can check and monitor your logic apps.

Vous venez de créer une application logique qui peut communiquer avec votre serveur SAP.You've now created a logic app that can communicate with your SAP server. Maintenant que vous avez configuré une connexion SAP pour votre application logique, vous pouvez explorer d’autres actions SAP disponibles, telles que BAPI et RFC.Now that you've set up an SAP connection for your logic app, you can explore other available SAP actions, such as BAPI and RFC.

Recevoir le message de SAPReceive message from SAP

Cet exemple utilise une application logique qui se déclenche quand l’application reçoit un message provenant d’un système SAP.This example uses a logic app that triggers when the app receives a message from an SAP system.

Ajouter un déclencheur SAPAdd an SAP trigger

  1. Dans le portail Azure, créez une application logique vide, qui ouvre le Concepteur d’application logique.In the Azure portal, create a blank logic app, which opens the Logic App Designer.

  2. Dans la zone de recherche, entrez sap en guise de filtre.In the search box, enter sap as your filter. Dans la liste Déclencheurs, sélectionnez Quand un message est reçu de SAP.From the Triggers list, select When a message is received from SAP.

    Ajouter un déclencheur SAP

    Vous pouvez aussi sélectionner l’onglet Entreprise, puis sélectionner le déclencheur :Or, you can select the Enterprise tab, and then select the trigger:

    Ajouter un déclencheur SAP à partir de l’onglet Entreprise

  3. Si votre connexion existe déjà, passez à l’étape suivante afin de configurer votre action SAP.If your connection already exists, continue with the next step so you can set up your SAP action. Toutefois, si vous êtes invité à entrer les détails de la connexion, fournissez ces informations pour pouvoir créer une connexion à votre serveur SAP local.However, if you're prompted for connection details, provide the information so that you can create a connection to your on-premises SAP server now.

    1. Entrez un nom pour la connexion.Provide a name for the connection.

    2. Si vous utilisez la passerelle de données, procédez comme suit :If you're using the data gateway, follow these steps:

      1. Dans la section Passerelle de données, sous Abonnement, sélectionnez d’abord l’abonnement Azure pour la ressource de passerelle de données que vous avez créée dans le portail Azure pour l’installation de votre passerelle de données.In the Data Gateway section, under Subscription, first select the Azure subscription for the data gateway resource that you created in the Azure portal for your data gateway installation.

      2. Sous Passerelle de connexion, sélectionnez votre ressource de passerelle de données dans Azure.Under Connection Gateway, select your data gateway resource in Azure.

    3. Continuez à fournir des informations sur la connexion.Continue providing information about the connection. Pour la propriété Type de connexion, suivez l’étape selon que la propriété est définie sur Serveur d’applications ou sur Groupe :For the Logon Type property, follow the step based on whether the property is set to Application Server or Group:

      • Pour Serveur d’applications, les propriétés suivantes, qui apparaissent habituellement comme facultatives, sont obligatoires :For Application Server, these properties, which usually appear optional, are required:

        Créer une connexion au serveur d’applications SAP

      • Pour Groupe, les propriétés suivantes, qui apparaissent habituellement comme facultatives, sont obligatoires :For Group, these properties, which usually appear optional, are required:

        Créer une connexion au serveur de messagerie SAP

      Par défaut, le typage fort est utilisé pour rechercher des valeurs non valides en effectuant une validation XML par rapport au schéma.By default, strong typing is used to check for invalid values by performing XML validation against the schema. Ce comportement peut vous aider à détecter les problèmes plus tôt.This behavior can help you detect issues earlier. L’option Types sécurisés est disponible pour la compatibilité descendante et ne vérifie que la longueur de chaîne.The Safe Typing option is available for backward compatibility and only checks the string length. Apprenez-en davantage sur l’option Types sécurisés.Learn more about the Safe Typing option.

    4. Quand vous avez terminé, sélectionnez Créer.When you're finished, select Create.

      Logic Apps configure et teste votre connexion pour vérifier son bon fonctionnement.Logic Apps sets up and tests your connection to make sure that the connection works properly.

  4. Spécifiez les paramètres nécessaires en fonction de la configuration de votre système SAP.Provide the required parameters based on your SAP system configuration.

    Vous pouvez si vous le souhaitez fournir une ou plusieurs actions SAP.You can optionally provide one or more SAP actions. Cette liste d’actions spécifie les messages que le déclencheur reçoit de votre serveur SAP.This list of actions specifies the messages that the trigger receives from your SAP server. Une liste vide spécifie que le déclencheur reçoit tous les messages.An empty list specifies that the trigger receives all messages. Si la liste comporte plus d’un message, le déclencheur reçoit seulement les messages spécifiés dans la liste.If the list has more than one message, the trigger receives only the messages specified in the list. Tous les autres messages envoyés depuis votre serveur SAP sont rejetés.Any other messages sent from your SAP server are rejected.

    Vous pouvez sélectionner une action SAP dans le sélecteur de fichiers :You can select an SAP action from the file picker:

    Ajouter une action SAP à une application logique

    Vous pouvez aussi spécifier une action manuellement :Or, you can manually specify an action:

    Entrer manuellement une action SAP

    Voici un exemple qui montre comment l’action apparaît quand vous configurez le déclencheur pour recevoir plusieurs messages.Here's an example that shows how the action appears when you set up the trigger to receive more than one message.

    Exemple de déclencheur qui reçoit plusieurs messages

    Pour plus d’informations sur l’action SAP, consultez Schémas de message pour les opérations IDoc.For more information about the SAP action, see Message schemas for IDoc operations

  5. Enregistrez maintenant votre application logique pour commencer à recevoir des messages de votre système SAP.Now save your logic app so you can start receiving messages from your SAP system. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer.On the designer toolbar, select Save.

Votre application logique est maintenant prête à recevoir des messages de votre système SAP.Your logic app is now ready to receive messages from your SAP system.

Notes

Le déclencheur SAP n’est pas un déclencheur d’interrogation : il s’agit d’un déclencheur basé sur un webhook.The SAP trigger isn't a polling trigger but is a webhook-based trigger instead. Si vous utilisez la passerelle de données, le déclencheur est appelé depuis la passerelle de données seulement s’il existe un message : aucune interrogation n’est donc nécessaire.If you're using the data gateway, the trigger is called from the data gateway only when a message exists, so no polling is necessary.

ParamètresParameters

Avec les entrées de chaîne et de nombre simples, le connecteur SAP accepte les paramètres de table suivants (entrées Type=ITAB) :Along with simple string and number inputs, the SAP connector accepts the following table parameters (Type=ITAB inputs):

  • Paramètres de direction de table, d’entrée et de sortie, pour les versions SAP antérieures.Table direction parameters, both input and output, for older SAP releases.
  • Modification des paramètres, qui remplacent les paramètres de direction de table pour les versions SAP plus récentes.Changing parameters, which replace the table direction parameters for newer SAP releases.
  • Paramètres de table hiérarchiqueHierarchical table parameters

Tester votre application logiqueTest your logic app

  1. Pour déclencher votre application logique, envoyez un message depuis votre système SAP.To trigger your logic app, send a message from your SAP system.

  2. Dans le menu de l’application logique, sélectionnez Vue d’ensemble.On the logic app menu, select Overview. Examinez Historique des exécutions pour identifier toutes les nouvelles exécutions de votre application logique.Review the Runs history for any new runs for your logic app.

  3. Ouvrez la dernière exécution, qui montre le message envoyé depuis votre système SAP dans la section des sorties du déclencheur.Open the most recent run, which shows the message sent from your SAP system in the trigger outputs section.

Recevoir des paquets d’IDocs de SAPReceive IDoc packets from SAP

Vous pouvez configurer SAP pour envoyer des IDocs sous forme de paquets, à savoir sous forme de lots ou de groupes d’IDocs.You can set up SAP to send IDocs in packets, which are batches or groups of IDocs. Pour recevoir des paquets d’IDocs, le connecteur SAP, et plus particulièrement le déclencheur, ne nécessite aucune configuration supplémentaire.To receive IDoc packets, the SAP connector, and specifically the trigger, doesn't need extra configuration. Toutefois, pour traiter chacun des éléments d’un paquet d’IDocs après la réception du paquet par le déclencheur, des étapes supplémentaires sont nécessaires afin de fractionner le paquet en IDocs individuels.However, to process each item in an IDoc packet after the trigger receives the packet, some additional steps are required to split the packet into individual IDocs.

Voici un exemple montrant comment extraire des IDocs individuels d’un paquet à l’aide de la fonction xpath() :Here's an example that shows how to extract individual IDocs from a packet by using the xpath() function:

  1. Avant de commencer, vous devez disposer d'une application logique avec un déclencheur SAP.Before you start, you need a logic app with an SAP trigger. Si vous n’avez pas encore cette application logique, suivez les étapes précédentes de cette rubrique pour configurer une application logique avec un déclencheur SAP.If you don't already have this logic app, follow the previous steps in this topic to set up a logic app with an SAP trigger.

    Par exemple :For example:

    Ajouter un déclencheur SAP à une application logique

  2. Récupérez l’espace de noms racine à partir de l’IDoc XML que votre application logique reçoit de SAP.Get the root namespace from the XML IDoc that your logic app receives from SAP. Pour extraire cet espace de noms du document XML, ajoutez une étape qui crée une variable de chaîne locale et stocke cet espace de noms à l'aide d'une expression xpath() :To extract this namespace from the XML document, add a step that creates a local string variable and stores that namespace by using an xpath() expression:

    xpath(xml(triggerBody()?['Content']), 'namespace-uri(/*)')

    Obtenir l’espace de noms racine à partir d’IDoc

  3. Pour extraire un IDoc individuel, ajoutez une étape qui crée une variable de tableau et stocke la collection d’IDocs à l’aide d’une autre expression xpath() :To extract an individual IDoc, add a step that creates an array variable and stores the IDoc collection by using another xpath() expression:

    xpath(xml(triggerBody()?['Content']), '/*[local-name()="Receive"]/*[local-name()="idocData"]')

    Récupération de tableau d'éléments

    La variable de tableau rend chaque IDoc disponible pour que votre application logique puisse les traiter individuellement en procédant à une énumération sur la collection.The array variable makes each IDoc available for your logic app to process individually by enumerating over the collection. Dans cet exemple, l’application logique transfère chaque IDoc vers un serveur SFTP à l’aide d’une boucle :In this example, the logic app transfers each IDoc to an SFTP server by using a loop:

    Envoyer un IDoc au serveur SFTP

    Chaque IDoc doit inclure l’espace de noms racine, ce qui explique pourquoi le contenu du fichier est enveloppé dans un élément <Receive></Receive avec l’espace de noms racine avant l’envoi de l’IDoc à l’application située en aval ou, dans ce cas, au serveur SFTP.Each IDoc must include the root namespace, which is the reason why the file content is wrapped inside a <Receive></Receive element along with the root namespace before sending the IDoc to the downstream app, or SFTP server in this case.

Vous pouvez utiliser le modèle de démarrage rapide correspondant à ce modèle en sélectionnant celui-ci dans le concepteur d'applications logiques lorsque vous créez une nouvelle application logique.You can use the quickstart template for this pattern by selecting this template in the Logic App Designer when you create a new logic app.

Sélectionner un modèle d’application logique de lot

Générer des schémas pour les artefacts dans SAPGenerate schemas for artifacts in SAP

Cet exemple utilise une application logique que vous pouvez déclencher à l’aide d’une requête HTTP.This example uses a logic app that you can trigger with an HTTP request. L’action SAP envoie une demande à un système SAP pour générer les schémas des artefacts IDoc et BAPI spécifiés.The SAP action sends a request to an SAP system to generate the schemas for specified IDoc and BAPI. Les schémas retournés dans la réponse sont chargés dans un compte d’intégration avec le connecteur Azure Resource Manager.Schemas that return in the response are uploaded to an integration account by using the Azure Resource Manager connector.

Ajouter un déclencheur de requête HTTPAdd an HTTP Request trigger

  1. Dans le portail Azure, créez une application logique vide, qui ouvre le Concepteur d’application logique.In the Azure portal, create a blank logic app, which opens the Logic App Designer.

  2. Dans la zone de recherche, entrez http request en guise de filtre.In the search box, enter http request as your filter. Dans la liste Déclencheurs, sélectionnez Lors de la réception d’une requête HTTP.From the Triggers list, select When a HTTP request is received.

    Ajouter un déclencheur de requête HTTP

  3. Enregistrez maintenant votre application logique pour pouvoir générer une URL de point de terminaison pour votre application logique.Now save your logic app so you can generate an endpoint URL for your logic app. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer.On the designer toolbar, select Save.

    L’URL du point de terminaison s’affiche désormais dans votre déclencheur, par exemple :The endpoint URL now appears in your trigger, for example:

    Générer une URL pour le point de terminaison

Ajouter une action SAP pour générer des schémasAdd an SAP action to generate schemas

  1. Dans le Concepteur d’application logique, sous le déclencheur, sélectionnez Nouvelle étape.In the Logic App Designer, under the trigger, select New step.

    Ajouter une nouvelle étape à l’application logique

  2. Dans la zone de recherche, entrez sap en guise de filtre.In the search box, enter sap as your filter. Dans la liste Actions, sélectionnez Générer des schémas.From the Actions list, select Generate schemas.

    Ajouter l’action « Générer des schémas » à l’application logique

    Vous pouvez aussi sélectionner l’onglet Entreprise et sélectionner l’action SAP.Or, you can select the Enterprise tab, and select the SAP action.

    Sélectionner l’action d’envoi à SAP à partir de l’onglet Entreprise

  3. Si votre connexion existe déjà, passez à l’étape suivante afin de configurer votre action SAP.If your connection already exists, continue with the next step so you can set up your SAP action. Toutefois, si vous êtes invité à entrer les détails de la connexion, fournissez ces informations pour pouvoir créer une connexion à votre serveur SAP local.However, if you're prompted for connection details, provide the information so that you can create a connection to your on-premises SAP server now.

    1. Entrez un nom pour la connexion.Provide a name for the connection.

    2. Dans la section Passerelle de données, sous Abonnement, sélectionnez d’abord l’abonnement Azure pour la ressource de passerelle de données que vous avez créée dans le portail Azure pour l’installation de votre passerelle de données.In the Data Gateway section, under Subscription, first select the Azure subscription for the data gateway resource that you created in the Azure portal for your data gateway installation.

    3. Sous Passerelle de connexion, sélectionnez votre ressource de passerelle de données dans Azure.Under Connection Gateway, select your data gateway resource in Azure.

    4. Continuez à fournir des informations sur la connexion.Continue providing information about the connection. Pour la propriété Type de connexion, suivez l’étape selon que la propriété est définie sur Serveur d’applications ou sur Groupe :For the Logon Type property, follow the step based on whether the property is set to Application Server or Group:

      • Pour Serveur d’applications, les propriétés suivantes, qui apparaissent habituellement comme facultatives, sont obligatoires :For Application Server, these properties, which usually appear optional, are required:

        Créer une connexion au serveur d’applications SAP

      • Pour Groupe, les propriétés suivantes, qui apparaissent habituellement comme facultatives, sont obligatoires :For Group, these properties, which usually appear optional, are required:

        Créer une connexion au serveur de messagerie SAP

      Par défaut, le typage fort est utilisé pour rechercher des valeurs non valides en effectuant une validation XML par rapport au schéma.By default, strong typing is used to check for invalid values by performing XML validation against the schema. Ce comportement peut vous aider à détecter les problèmes plus tôt.This behavior can help you detect issues earlier. L’option Types sécurisés est disponible pour la compatibilité descendante et ne vérifie que la longueur de chaîne.The Safe Typing option is available for backward compatibility and only checks the string length. Apprenez-en davantage sur l’option Types sécurisés.Learn more about the Safe Typing option.

    5. Quand vous avez terminé, sélectionnez Créer.When you're finished, select Create.

      Logic Apps configure et teste votre connexion pour vérifier son bon fonctionnement.Logic Apps sets up and tests your connection to make sure that the connection works properly.

  4. Indiquez le chemin de l’artefact pour lequel vous voulez générer le schéma.Provide the path to the artifact for which you want to generate the schema.

    Vous pouvez sélectionner l’action SAP dans le sélecteur de fichiers :You can select the SAP action from the file picker:

    Sélectionner une action SAP

    Vous pouvez aussi entrer l’action manuellement :Or, you can manually enter the action:

    Entrer manuellement une action SAP

    Pour générer des schémas pour plusieurs artefacts, spécifiez les détails de l’action SAP pour chaque artefact, par exemple :To generate schemas for more than one artifact, provide the SAP action details for each artifact, for example:

    Sélectionner Ajouter un nouvel élément

    Afficher deux éléments

    Pour plus d’informations sur l’action SAP, consultez Schémas de message pour les opérations IDoc.For more information about the SAP action, see Message schemas for IDoc operations.

  5. Enregistrez votre application logique.Save your logic app. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer.On the designer toolbar, select Save.

Tester votre application logiqueTest your logic app

  1. Dans la barre d’outils du concepteur, sélectionnez Exécuter pour déclencher une exécution de votre application logique.On the designer toolbar, select Run to trigger a run for your logic app.

  2. Ouvrez l’exécution et vérifiez les résultats pour l’action Générer des schémas.Open the run, and check the outputs for the Generate schemas action.

    Les sorties montrent les schémas générés pour la liste de messages spécifiée.The outputs show the generated schemas for the specified list of messages.

Charger des schémas sur un compte d’intégrationUpload schemas to an integration account

Vous pouvez aussi télécharger ou stocker les schémas générés dans des référentiels, comme un objet blob, un stockage ou un compte d’intégration.Optionally, you can download or store the generated schemas in repositories, such as a blob, storage, or integration account. Les comptes d’intégration offrent une expérience privilégiée avec d’autres actions XML : cet exemple montre donc comment charger des schémas dans un compte d’intégration pour la même application logique avec le connecteur Azure Resource Manager.Integration accounts provide a first-class experience with other XML actions, so this example shows how to upload schemas to an integration account for the same logic app by using the Azure Resource Manager connector.

  1. Dans le Concepteur d’application logique, sous le déclencheur, sélectionnez Nouvelle étape.In the Logic App Designer, under the trigger, select New step.

  2. Dans la zone de recherche, entrez Resource Manager en guise de filtre.In the search box, enter Resource Manager as your filter. Sélectionnez Créer ou mettre à jour une ressource.Select Create or update a resource.

    Sélectionner une action Azure Resource Manager

  3. Entrez les détails de l’action, notamment votre abonnement Azure, le groupe de ressources Azure et le compte d’intégration.Enter the details for the action, including your Azure subscription, Azure resource group, and integration account. Pour ajouter des jetons SAP aux champs, cliquez dans les zones pour ces champs, puis sélectionnez dans la liste de contenu dynamique qui s’affiche.To add SAP tokens to the fields, click inside the boxes for those fields, and select from the dynamic content list that appears.

    1. Ouvrez la liste Ajouter un nouveau paramètre, puis sélectionnez les champs Emplacement et Propriétés.Open the Add new parameter list, and select the Location and Properties fields.

    2. Fournissez des détails pour ces nouveaux champs comme indiqué dans cet exemple.Provide details for these new fields as shown in this example.

      Entrer les détails pour l’action Azure Resource Manager

    L’action SAP Générer les schémas génère des schémas sous forme de collection : le concepteur ajoute donc automatiquement une boucle For each à l’action.The SAP Generate schemas action generates schemas as a collection, so the designer automatically adds a For each loop to the action. Voici un exemple qui montre comment cette action apparaît :Here's an example that shows how this action appears:

    Action Azure Resource Manager avec une boucle « for each »

    Notes

    Les schémas utilisent un format codé en base64.The schemas use base64-encoded format. Pour télécharger les schémas dans un compte d’intégration, ils doivent être décodés avec la fonction base64ToString().To upload the schemas to an integration account, they must be decoded by using the base64ToString() function. Voici un exemple qui montre le code pour l’élément "properties" :Here's an example that shows the code for the "properties" element:

    "properties": {
       "Content": "@base64ToString(items('For_each')?['Content'])",
       "ContentType": "application/xml",
       "SchemaType": "Xml"
    }
    
  4. Enregistrez votre application logique.Save your logic app. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer.On the designer toolbar, select Save.

Tester votre application logiqueTest your logic app

  1. Dans la barre d’outils du concepteur, sélectionnez Exécuter pour déclencher manuellement votre application logique.On the designer toolbar, select Run to manually trigger your logic app.

  2. Après une exécution réussie, accédez au compte d’intégration et vérifiez l’existence des schémas générés.After a successful run, go to the integration account, and check that the generated schemas exist.

Activer Secure Network CommunicationsEnable Secure Network Communications

Avant de commencer, assurez-vous de respecter les conditions préalables précédemment mentionnées, qui s’appliquent uniquement lorsque vous utilisez la passerelle de données et que vos applications logiques s’exécutent dans une instance Azure mutualisée :Before you start, make sure that you met the previously listed prerequisites, which apply only when you use the data gateway and your logic apps run in multi-tenant Azure:

  • Assurez-vous que la passerelle de données locale est installée sur un ordinateur qui se trouve dans le même réseau que votre système SAP.Make sure the on-premises data gateway is installed on a computer that's in the same network as your SAP system.

  • Pour l’authentification unique (SSO), la passerelle de données s’exécute en tant qu’utilisateur mappé à un utilisateur SAP.For Single Sign On (SSO), the data gateway is running as a user that's mapped to an SAP user.

  • La bibliothèque SNC qui fournit les fonctions de sécurité supplémentaire est installée sur le même ordinateur que la passerelle de données.The SNC library that provides the additional security functions is installed on the same machine as the data gateway. sapseculib, Kerberos et NTLM en sont des exemples.Some examples include sapseculib, Kerberos, and NTLM.

    Pour activer SNC pour vos demandes vers ou depuis le système SAP, cochez la case Utiliser SNC dans la connexion SAP et renseignez ces propriétés :To enable SNC for your requests to or from the SAP system, select the Use SNC check box in the SAP connection and provide these properties:

    Configurer SNC SAP dans la connexion

    PropriétéProperty DescriptionDescription
    SNC Library Path (Chemin de la bibliothèque SNC)SNC Library Path Nom ou chemin de la bibliothèque SNC relatif au chemin absolu ou à l’emplacement d’installation NCo.The SNC library name or path relative to NCo installation location or absolute path. sapsnc.dll, .\security\sapsnc.dll ou c:\security\sapsnc.dll en sont des exemples.Examples are sapsnc.dll or .\security\sapsnc.dll or c:\security\sapsnc.dll.
    SNC SSO (Authentification unique SNC)SNC SSO Lorsque vous vous connectez via SNC, l’identité SNC est généralement utilisée pour authentifier l’appelant.When you connect through SNC, the SNC identity is typically used for authenticating the caller. Une autre option consiste à substituer cette identité afin que les informations d’utilisateur et de mot de passe puissent être utilisées pour authentifier l’appelant, mais la ligne est toujours chiffrée.Another option is to override so that user and password information can be used for authenticating the caller, but the line is still encrypted.
    Mon nom SNCSNC My Name Dans la plupart des cas, cette propriété peut être omise.In most cases, this property can be omitted. La solution SNC installée connaît généralement son propre nom SNC.The installed SNC solution usually knows its own SNC name. Uniquement pour les solutions qui prennent en charge plusieurs identités, vous devrez peut-être spécifier l’identité à utiliser pour ce serveur ou cette destination spécifique.Only for solutions that support multiple identities, you might need to specify the identity to be used for this particular destination or server.
    Nom du partenaire SNCSNC Partner Name Nom du SNC back-end.The name for the back-end SNC.
    Qualité de protection SNCSNC Quality of Protection Qualité de service à utiliser pour la communication SNC de ce serveur ou cette destination spécifique.The quality of service to be used for SNC communication of this particular destination or server. La valeur par défaut est définie par le système back-end.The default value is defined by the back-end system. La valeur maximale est définie par le produit de sécurité utilisé pour SNC.The maximum value is defined by the security product used for SNC.

    Notes

    Ne définissez pas les variables d’environnement SNC_LIB et SNC_LIB_64 sur l’ordinateur où vous avez la passerelle de données et la bibliothèque SNC.Don't set the environment variables SNC_LIB and SNC_LIB_64 on the machine where you have the data gateway and the SNC library. Si elles sont définies, elles sont prioritaires sur la valeur de la bibliothèque SNC passée via le connecteur.If set, they take precedence over the SNC library value passed through the connector.

Types sécurisésSafe typing

Par défaut, quand vous créez votre connexion SAP, le typage fort est utilisé pour rechercher des valeurs non valides en effectuant une validation XML par rapport au schéma.By default, when you create your SAP connection, strong typing is used to check for invalid values by performing XML validation against the schema. Ce comportement peut vous aider à détecter les problèmes plus tôt.This behavior can help you detect issues earlier. L’option Types sécurisés est disponible pour la compatibilité descendante et ne vérifie que la longueur de chaîne.The Safe Typing option is available for backward compatibility and only checks the string length. Si vous choisissez Types sécurisés, les types DATS et TIMS dans SAP sont traités en tant que chaînes plutôt que comme leurs équivalents XML, xs:date et xs:time, où xmlns:xs="http://www.w3.org/2001/XMLSchema".If you choose Safe Typing, the DATS type and TIMS type in SAP are treated as strings rather than as their XML equivalents, xs:date and xs:time, where xmlns:xs="http://www.w3.org/2001/XMLSchema". Les types sécurisés affectent le comportement pour la génération de schémas dans sa globalité, le message d’envoi pour à la fois la charge utile « envoyé » et la réponse « reçu » ainsi que le déclencheur.Safe typing affects the behavior for all schema generation, the send message for both the "been sent" payload and the "been received" response, and the trigger.

Quand le typage fort est utilisé (l’optionTypes sécurisés n’est pas activée), le schéma mappe les types DATS and TIMS à des types XML plus simples :When strong typing is used (Safe Typing isn't enabled), the schema maps the DATS and TIMS types to more straightforward XML types:

<xs:element minOccurs="0" maxOccurs="1" name="UPDDAT" nillable="true" type="xs:date"/>
<xs:element minOccurs="0" maxOccurs="1" name="UPDTIM" nillable="true" type="xs:time"/>

Lorsque vous envoyez des messages en utilisant un typage fort, la réponse DATS et TIMS est conforme au format de type XML correspondant :When you send messages using strong typing, the DATS and TIMS response complies to the matching XML type format:

<DATE>9999-12-31</DATE>
<TIME>23:59:59</TIME>

Quand l’optionTypes sécurisés est activée, le schéma mappe les types DATS and TIMS aux champs de chaîne XML avec des restrictions de longueur uniquement, par exemple :When Safe Typing is enabled, the schema maps the DATS and TIMS types to XML string fields with length restrictions only, for example:

<xs:element minOccurs="0" maxOccurs="1" name="UPDDAT" nillable="true">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:maxLength value="8" />
    </xs:restriction>
  </xs:simpleType>
</xs:element>
<xs:element minOccurs="0" maxOccurs="1" name="UPDTIM" nillable="true">
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:maxLength value="6" />
    </xs:restriction>
  </xs:simpleType>
</xs:element>

Lorsque les messages sont envoyés avec l’optionTypes sécurisés activée, la réponse DATS et TIMS ressemble à cet exemple :When messages are sent with Safe Typing enabled, the DATS and TIMS response looks like this example:

<DATE>99991231</DATE>
<TIME>235959</TIME>

Scénarios avancésAdvanced scenarios

Confirmer une transaction explicitementConfirm transaction explicitly

Quand vous envoyez des transactions à SAP depuis Logic Apps, cet échange se fait en deux étapes, comme décrit dans le document SAP, Transactional RFC Server Programs.When you send transactions to SAP from Logic Apps, this exchange happens in two steps as described in the SAP document, Transactional RFC Server Programs. Par défaut, l’action Envoyer à SAP gère à la fois les étapes de transfert de la fonction et de la confirmation de la transaction dans un même appel.By default, the Send to SAP action handles both the steps for the function transfer and for the transaction confirmation in a single call. Le connecteur SAP vous donne la possibilité de découpler ces étapes.The SAP connector gives you the option to decouple these steps. Vous pouvez envoyer un IDoc et, au lieu de confirmer automatiquement la transaction, vous pouvez utiliser l’action explicite Confirmer l’ID de transaction.You can send an IDoc and rather than automatically confirm the transaction, you can use the explicit Confirm transaction ID action.

Cette possibilité de découpler la confirmation de l’ID de transaction est utile quand vous ne voulez pas dupliquer les transactions dans SAP, par exemple dans les scénarios où des échecs peuvent se produire pour des raisons comme des problèmes réseau.This capability to decouple the transaction ID confirmation is useful when you don't want to duplicate transactions in SAP, for example, in scenarios where failures might happen due to causes such as network issues. En confirmant l’ID de transaction séparément, la transaction n’est effectuée qu’une seule fois dans votre système SAP.By confirming the transaction ID separately, the transaction is only completed one time in your SAP system.

Voici un exemple montrant ce modèle :Here is an example that shows this pattern:

  1. Créez une application logique vide et ajoutez un déclencheur HTTP.Create a blank logic app and add an HTTP trigger.

  2. À partir du connecteur SAP, ajoutez l’action Envoyer l’IDOC.From the SAP connector, add the Send IDOC action. Spécifiez les détails de l’IDoc que vous envoyez à votre système SAP.Provide the details for the IDoc that you send to your SAP system.

  3. Pour confirmer explicitement l’ID de transaction dans une étape distincte, dans le champ Confirmer le TID, sélectionnez Non.To explicitly confirm the transaction ID in a separate step, in the Confirm TID field, select No. Pour le champ facultatif GUID de l’ID de transaction, vous pouvez spécifier manuellement la valeur, ou faire en sorte que le connecteur génère et retourne automatiquement ce GUID dans la réponse de l’action Envoyer l’IDOC.For the optional Transaction ID GUID field, you can either manually specify the value or have the connector automatically generate and return this GUID in the response from the Send IDOC action.

    Propriétés de l’action Envoyer l’IDOC

  4. Pour confirmer explicitement l’ID de transaction, ajoutez l’action Confirmer l’ID de transaction.To explicitly confirm the transaction ID, add the Confirm transaction ID action. Cliquez dans la zone ID de transaction pour faire apparaître la liste des contenus dynamiques.Click inside the Transaction ID box so that the dynamic content list appears. Dans cette liste, sélectionnez la valeur ID de transaction qui est retournée depuis l’action Envoyer l’IDOC.From that list, select the Transaction ID value that's returned from the Send IDOC action.

    Action Confirmer l’ID de transaction

    Après l’exécution de cette étape, la transaction actuelle est marquée comme terminée aux deux extrémités, sur le côté connecteur SAP et sur le côté système SAP.After this step runs, the current transaction is marked complete at both ends, on the SAP connector side and on SAP system side.

Problèmes connus et limitationsKnown issues and limitations

Voici les problèmes et limitations connus pour le connecteur SAP (non-ISE) managé :Here are the currently known issues and limitations for the managed (non-ISE) SAP connector:

  • Le déclencheur SAP ne prend pas en charge les clusters de passerelle de données.The SAP trigger doesn't support data gateway clusters. Dans certains cas de basculement, le nœud de la passerelle de données qui communique avec le système SAP peut différer du nœud actif, ce qui entraîne un comportement inattendu.In some failover cases, the data gateway node that communicates with the SAP system might differ from the active node, which results in unexpected behavior. Pour les scénarios d’envoi, les clusters de passerelles de données sont pris en charge.For send scenarios, data gateway clusters are supported.

  • Le connecteur SAP ne prend actuellement pas en charge les chaînes de routeur SAP.The SAP connector currently doesn't support SAP router strings. La passerelle de données locale doit exister sur le même réseau local que le système SAP que vous voulez connecter.The on-premises data gateway must exist on the same LAN as the SAP system you want to connect.

Référence de connecteurConnector reference

Pour plus d’informations techniques sur ce connecteur, notamment au sujet des déclencheurs, des actions et des limites décrits dans le fichier Swagger du connecteur, consultez la page de référence du connecteur.For more technical details about this connector, such as triggers, actions, and limits as described by the connector's Swagger file, see the connector's reference page.

Notes

Pour les applications logiques utilisées dans un environnement de service d’intégration (ISE), la version de ce connecteur avec l’étiquette ISE applique les limites de messages de l’ISE à la place.For logic apps in an integration service environment (ISE), this connector's ISE-labeled version uses the ISE message limits instead.

Étapes suivantesNext steps