Partager via


Générer des schémas pour les artefacts SAP dans Azure Logic Apps

S’applique à : Azure Logic Apps (Consommation + Standard)

Ce guide pratique montre comment créer un exemple de workflow d’application logique qui génère des schémas pour les artefacts SAP. Le workflow commence par un déclencheur de requête qui peut recevoir les requêtes HTTP POST de votre serveur SAP. Le workflow génère ensuite des schémas pour l’IDoc et le BAPI spécifiés à l’aide de l’action SAP nommée Générer des schémas, qui envoie une requête à votre serveur SAP. Pour envoyer cette requête, vous pouvez utiliser l’action de connecteur managé SAP générique nommée Envoyer un message à SAP ou vous pouvez utiliser l’action managée ou intégrée SAP spécifique nommée [BAPI] Appeler une méthode dans SAP. Cette action SAP renvoie un schéma XML, et non le contenu ou les données du document XML proprement dit. Les schémas renvoyés dans la réponse sont chargés sur un compte d’intégration avec le connecteur Azure Resource Manager. Les schémas contiennent les éléments suivants :

Composant Description
Structure d’un message de requête Utilisez ces informations pour constituer votre liste BAPI get.
Structure d’un message de réponse Utilisez ces informations pour analyser la réponse.

Les workflows d’application logique Standard et Consommation proposent le connecteur managé SAP qui est hébergé et exécuté dans un environnement Azure multilocataire. Les workflows Standard proposent également le connecteur intégré SAP en préversion qui est hébergé et exécuté dans Azure Logic Apps monolocataire. Toutefois, ce connecteur est actuellement en préversion et soumis aux conditions d’utilisation supplémentaires des préversions Microsoft Azure. Si vous créez et hébergez un workflow Consommation dans un environnement de service d’intégration (ISE), vous pouvez également utiliser la version native ISE du connecteur SAP. Pour plus d’informations, consultez la référence technique du connecteur.

Prérequis

  • Installez ou utilisez un outil capable d’envoyer des requêtes HTTP pour tester votre solution, par exemple :

    Attention

    Dans les scénarios comprenant des données sensibles, comme des informations d’identification, des secrets, des jetons d’accès, des clés API et d’autres informations similaires, veillez à utiliser un outil qui protège vos données avec les fonctionnalités de sécurité nécessaires, qui fonctionne en mode hors connexion ou localement, qui ne synchronise pas vos données avec le cloud, et qui ne vous impose pas de vous connecter à un compte en ligne. Vous réduirez ainsi les risques liés à l’exposition de données sensibles au public.

Générer des schémas pour un artefact SAP

L’exemple de workflow d’application logique suivant se déclenche quand le déclencheur SAP du workflow reçoit une requête d’un serveur SAP. Le workflow exécute ensuite une action SAP qui génère des schémas pour l’artefact SAP spécifié.

Ajout du déclencheur Request

Pour que votre workflow reçoive les requêtes du serveur SAP sur HTTP, vous pouvez utiliser le déclencheur intégré de requête. Ce déclencheur crée un point de terminaison avec une URL qui permet à votre serveur SAP d’envoyer des requêtes HTTP POST à votre workflow. Quand votre workflow reçoit ces requêtes, le déclencheur est activé et passe à l’étape suivante de votre workflow.

Selon que vous disposez d’un workflow Consommation dans Azure Logic Apps multilocataire ou d’un workflow Standard dans Azure Logic Apps monolocataire, suivez la procédure correspondante :

  1. Dans le portail Azure, créez une ressource d’application logique Consommation et un workflow vide, qui s’ouvre dans le concepteur.

  2. Dans le concepteur, suivez cette procédure générale pour rechercher et ajouter le déclencheur intégré Requête nommé Lors de la réception d’une requête HTTP.

    Capture d’écran montrant le déclencheur de requête pour un workflow Consommation.

  3. Enregistrez votre flux de travail. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer.

    Cette étape génère une URL de point de terminaison qui permet à votre déclencheur de recevoir les requêtes de votre serveur SAP. Par exemple :

    Capture d’écran montrant l’URL de point de terminaison générée du déclencheur de requête dans un workflow de Consommation.

Ajouter une action SAP pour générer des schémas

Selon que vous disposez d’un workflow Consommation dans Azure Logic Apps multilocataire ou d’un workflow Standard dans Azure Logic Apps monolocataire, suivez la procédure correspondante :

  1. Dans le concepteur de workflow, sous le déclencheur de requête, sélectionnez Nouvelle étape.

  2. Dans le concepteur, suivez cette procédure générale pour rechercher et ajouter l’action managée SAP nommée Générer des schémas.

    Pour plus d’informations sur cette action managée SAP, consultez la section Générer des schémas.

  3. Si vous y êtes invité, fournissez les informations de connexion pour votre serveur SAP local. Sélectionnez Créer lorsque vous avez terminé. Sinon, passez à l’étape suivante pour configurer l’action SAP.

    Par défaut, quand vous créez une connexion pour une opération managée SAP, le typage fort est utilisé pour rechercher des valeurs non valides en effectuant une validation XML par rapport au schéma. Ce comportement peut vous aider à détecter les problèmes plus tôt. Apprenez-en davantage sur le paramètre Types sécurisés. Pour les autres paramètres de connexion disponibles facultatifs, consultez la section Informations de connexion par défaut.

    Une fois qu’Azure Logic Apps a configuré et testé votre connexion, la zone d’informations sur l’action s’affiche. Pour plus d’informations sur les problèmes de connexion qui peuvent se produire, consultez la section Résoudre les problèmes de connexion.

    Capture d’écran montrant un workflow Consommation et l’action managée SAP nommée Générer des schémas.

  4. Dans l’action Générer des schémas, fournissez un chemin d’accès à l’artefact pour lequel vous souhaitez générer le schéma en sélectionnant une action SAP disponible sur votre serveur SAP.

    1. Dans la zone de modification du paramètre Body ActionUri (URI d’action Corps), sélectionnez l’icône de dossier. Dans la liste qui s’ouvre, sélectionnez BAPI, IDOC, RFC ou TRFC. Cet exemple sélectionne IDOC. Si vous sélectionnez un autre type, les actions SAP disponibles changent en fonction de votre sélection.

      Notes

      Si vous obtenez une erreur Passerelle incorrecte (500) ou Requête incorrecte (400), consultez la section Erreur 500 Passerelle incorrecte ou 400 Requête incorrecte.

      Capture d’écran montrant un workflow Consommation, l’action Générer des schémas et la sélection d’IDOC.

    2. Parcourez les dossiers de types d’actions SAP à l’aide des flèches pour rechercher et sélectionner l’action SAP à utiliser.

      Cet exemple sélectionne ORDERS>ORDERS05>720>Envoyer.

      Capture d’écran montrant un workflow Consommation, l’action Générer des schémas et la recherche d’une action Orders (Commandes).

      Si vous ne trouvez pas l’action que vous souhaitez, vous pouvez entrer un chemin d’accès manuellement, par exemple :

      Capture d’écran montrant un workflow Consommation et l’entrée manuelle d’un chemin d’accès à une action SAP.

      Conseil

      Pour le paramètre Body ActionUri (URI d’action Corps), vous pouvez utiliser l’éditeur d’expression pour fournir la valeur du paramètre. De cette façon, vous pouvez utiliser la même action SAP pour différents types de messages.

      Pour plus d’informations sur cette action SAP, consultez l’article Schémas de message pour les opérations IDoc.

    3. Pour générer des schémas pour plusieurs artefacts, dans la section Body ActionUri (URI d’action Corps), sélectionnez Ajouter un nouvel élément.

      Capture d’écran montrant la sélection de l’option permettant d’ajouter un nouvel élément.

    4. Pour chaque artefact, fournissez l’action SAP que vous souhaitez utiliser pour la génération de schéma. Par exemple :

      Capture d’écran montrant plusieurs actions SAP à utiliser pour générer plusieurs schémas.

  5. Enregistrez votre flux de travail. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer.

Tester votre workflow pour la génération de schéma

Selon que vous disposez d’un workflow Consommation dans Azure Logic Apps multilocataire ou d’un workflow Standard dans Azure Logic Apps monolocataire, suivez la procédure correspondante :

  1. Si votre ressource d’application logique Consommation n’est pas déjà activée, dans le menu associé, sélectionnez Vue d’ensemble. Dans la barre d’outils, sélectionnez Activer.

  2. Dans la barre d’outils du concepteur, sélectionnez Exécuter>Exécuter pour lancer manuellement votre workflow.

  3. Pour simuler une charge utile de déclencheur de webhook et déclencher le workflow, envoyez une requête HTTP à l’URL de point de terminaison créée par le déclencheur Requête de votre workflow, y compris la méthode attendue par le déclencheur Requête, en utilisant votre outil de requête HTTP et ses instructions. Veillez à inclure le contenu du message avec votre requête.

    Cet exemple se sert de la méthode POST et de l’URL de point de terminaison pour envoyer un fichier IDoc, qui doit être au format XML et inclure l’espace de noms de l’action SAP que vous avez sélectionnée, par exemple :

    <?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 workflow.

    Notes

    Votre workflow peut expirer si toutes les étapes nécessaires pour la réponse ne se terminent pas dans la limite de délai d’attente de la requête. Si cette situation se produit, les requêtes peuvent être bloquées. Pour vous aider à diagnostiquer les problèmes, découvrez comment vous pouvez vérifier et surveiller vos workflows d’application logique.

  5. Dans le volet Vue d’ensemble de votre application logique, sous Historique des exécutions, recherchez et ouvrez l’exécution du workflow.

  6. Recherchez l’action Générer des schémas, puis passez en revue les sorties de l’action.

    Les sorties montrent les schémas générés pour les messages spécifiés.

Pour plus d’informations sur l’examen de l’historique des exécutions de workflow, consultez l’article Surveiller les workflows d’application logique.

Charger des schémas sur un compte d’intégration

Si vous le souhaitez, vous pouvez télécharger ou stocker les schémas générés dans des référentiels, tels qu’un compte d’intégration ou un compte de stockage Azure, par exemple, dans un conteneur d’objets blob. Les comptes d’intégration fournissent une expérience de première classe avec les actions XML pour les workflows dans Azure Logic Apps. Vous avez la possibilité de charger les schémas générés sur un compte d’intégration existant dans le même workflow qui génère ces schémas à l’aide de l’action Azure Resource Manager nommée Créer ou mettre à jour une ressource.

Notes

Les schémas utilisent un format codé en base64. Pour charger des schémas dans un compte d’intégration, vous devez tout d’abord les décoder avec la fonction base64ToString(). L’exemple suivant montre le code de l’élément properties :

"properties": {
   "Content": "@base64ToString(items('For_each')?['Content'])",
   "ContentType": "application/xml",
   "SchemaType": "Xml"
}

Pour cette tâche, vous aurez besoin d’un compte d’intégration, si vous n’en avez pas déjà un. Selon que vous disposez d’un workflow Consommation dans Azure Logic Apps multilocataire ou d’un workflow Standard dans Azure Logic Apps monolocataire, suivez les étapes correspondantes pour charger des schémas vers un compte d’intégration à partir de votre workflow après la génération de schémas.

  1. Dans le concepteur de workflow, sous l’action managée SAP nommée Générer des schémas, sélectionnez Nouvelle étape.

  2. Suivez cette procédure générale pour rechercher et ajouter l’action managée Azure Resource Manager nommée Créer ou mettre à jour une ressource. Si vous êtes invité à vous connecter avec vos informations d’identification, faites-le, puis continuez.

    Une fois qu’Azure Logic Apps a configuré et testé votre connexion, la zone d’informations sur l’action s’affiche.

    Capture d’écran montrant un workflow Consommation et une action Azure Resource Manager nommée Créer ou mettre à jour une ressource.

  3. Dans l’action Créer ou mettre à jour une ressource, fournissez les informations requises.

    1. Pour inclure les sorties des étapes précédentes dans le workflow, cliquez dans le paramètre dans lequel vous souhaitez inclure la sortie, ouvrez la liste de contenu dynamique, puis sélectionnez la sortie à inclure.

    2. Dans la liste Ajouter un nouveau paramètre, sélectionnez les paramètres Emplacement et Propriétés.

    3. Fournissez les valeurs de ces paramètres ajoutés. Par exemple :

      Capture d’écran d’un workflow Consommation et de l’action Azure Resource Manager avec les paramètres ajoutés nommés Emplacement et Propriétés.

    L’action Générer des schémas génère des schémas sous forme de collection. Le concepteur ajoute donc automatiquement une boucle For each (Pour chaque) à l’action Azure Resource Manager. Par exemple :

    Capture d’écran montrant un workflow Consommation et une boucle Pour chaque avec l’action Azure Resource Manager incluse.

  4. Enregistrez votre flux de travail. Dans la barre d’outils du Concepteur, sélectionnez Enregistrer.

Tester votre workflow

  1. Selon que vous disposez d’un workflow d’application logique Consommation ou Standard, suivez la procédure générale pour tester et exécuter manuellement votre workflow.

  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.

Exemples de schémas XML

Si vous apprenez à générer un schéma XML à utiliser pour créer un document type, consultez les exemples suivants. Ces exemples montrent la manière dont vous pouvez travailler avec de nombreux types de charges utiles, notamment :

Vous pouvez commencer votre schéma XML par un prologue XML facultatif. Le connecteur SAP fonctionne avec ou sans prologue XML.

<?xml version="1.0" encoding="utf-8">

Exemples XML pour les requêtes RFC

L’exemple ci-dessous illustre un appel RFC de base où le nom RFC est STFC_CONNECTION. Cette requête utilise l’espace de noms par défaut nommé xmlns=. Vous pouvez toutefois attribuer et utiliser des alias d’espace de noms tels que xmmlns:exampleAlias=. La valeur de l’espace de noms est l’espace de noms de tous les RFC dans SAP pour les services Microsoft. La requête a un paramètre d’entrée simple nommé <REQUTEXT>.

<STFC_CONNECTION xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
   <REQUTEXT>exampleInput</REQUTEXT>
</STFC_CONNECTION>

L’exemple ci-dessous illustre un appel RFC avec un paramètre de table. Ces exemples d’appel et de groupe de RFC de test sont disponibles dans tous les systèmes SAP. Le paramètre de table est nommé TCPICDAT. Le type de ligne de table est ABAPTEXT, et cet élément se répète pour chaque ligne de la table. Cet exemple contient une seule ligne, nommée LINE. Les requêtes dotées d’un paramètre de table peuvent contenir un nombre quelconque de champs, où le nombre est un entier positif (n).

<STFC_WRITE_TO_TCPIC xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
   <RESTART_QNAME>exampleQName</RESTART_QNAME>
   <TCPICDAT>
      <ABAPTEXT xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
         <LINE>exampleFieldInput1</LINE>
      </ABAPTEXT>
      <ABAPTEXT xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
         <LINE>exampleFieldInput2</LINE>
      </ABAPTEXT>
      <ABAPTEXT xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
         <LINE>exampleFieldInput3</LINE>
      </ABAPTEXT>
   </TCPICDAT>
</STFC_WRITE_TO_TCPIC>

Conseil

Pour examiner le résultat du RFC STFC_WRITE_TO_TCPIC, utilisez l’explorateur de données de l’ouverture de session SAP (T-Code SE16) et la table nommée TCPIC.

L’exemple ci-dessous illustre un appel RFC avec un paramètre de table qui contient un champ anonyme, à savoir un champ sans nom attribué. Les types complexes sont déclarés sous un espace de noms distinct, dans lequel la déclaration définit une nouvelle valeur par défaut pour le nœud actuel et tous ses éléments enfants. L’exemple utilise le code hexadécimal x002F comme caractère d’échappement à la place du symbole /, car ce dernier est réservé dans le nom de champ SAP.

<RFC_XML_TEST_1 xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
   <IM_XML_TABLE>
      <RFC_XMLCNT xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
         <_x002F_AnonymousField>AQIDBAU=</_x002F_AnonymousField>
      </RFC_XMLCNT>
   </IM_XML_TABLE>
</RFC_XML_TEST_1>

L’exemple précédent montre également comment encoder des tableaux binaires pour les types de données SAP byte et XString. Les tableaux binaires sont encodés en base64 en XML (type xs:base64Binaryde données binaireS XSD ). Dans l’exemple, l’exemple de valeur de chaîne AQIDBAU=base64 décode en tant que tableau [01][02][03][04]binaire . Cet encodage diffère et est plus économe en espace que l’encodage hexadécimal du connecteur SAP .NET sous-jacent. Avec l’encodage hexadécimal, la même valeur est encodée que la chaîne 01020304.

Notes

Soyez prudent lors de l’utilisation de l’encodage de tableau binaire, car l’encodage hexadécimal utilise un sous-ensemble de la plage base64 et apparaît comme des valeurs de base64 valides. Par exemple, la valeur 01020304 de chaîne décode également en tant que valeur encodée en base64 valide, mais aboutit à un tableau [d3][5d][36][d3][7d][38]binaire différent, et non à un tableau [01][02][03][04]binaire .

L’exemple suivant comprend des préfixes pour les espaces de noms. Vous pouvez déclarer tous les préfixes à la fois, ou vous pouvez déclarer un nombre quelconque de préfixes comme attributs d’un nœud. L’alias d’espace de noms RFC nommé ns0 est utilisé comme racine et paramètres pour le type de base.

Notes

Les types complexes sont déclarés sous un espace de noms différent pour les types RFC avec l’alias ns3 au lieu de l’espace de noms RFC standard avec l’alias ns0.

<ns0:BBP_RFC_READ_TABLE xmlns:ns0="http://Microsoft.LobServices.Sap/2007/03/Rfc/" xmlns:ns3="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
   <ns0:DELIMITER>0</ns0:DELIMITER>
   <ns0:QUERY_TABLE>KNA1</ns0:QUERY_TABLE>
   <ns0:ROWCOUNT>250</ns0:ROWCOUNT>
   <ns0:ROWSKIPS>0</ns0:ROWSKIPS>
   <ns0:FIELDS>
      <ns3:RFC_DB_FLD>
         <ns3:FIELDNAME>KUNNR</ns3:FIELDNAME>
      </ns3:RFC_DB_FLD>
   </ns0:FIELDS>
</ns0:BBP_RFC_READ_TABLE>

Exemples XML pour les requêtes BAPI

Les exemples XML suivants sont des exemples de requêtes visant à appeler la méthode BAPI.

Notes

SAP met les objets métier à la disposition des systèmes externes en les décrivant en réponse au RFC RPY_BOR_TREE_INIT, qu’Azure Logic Apps émet sans filtre d’entrée. Azure Logic Apps inspecte la table de sortie BOR_TREE. Le champ SHORT_TEXT est utilisé pour les noms d’objets métier. Les objets métier non retournés par SAP dans la table de sortie ne sont pas accessibles à Azure Logic Apps.

Si vous utilisez des objets métier personnalisés, veillez à les publier et à les mettre en production dans SAP. Dans le cas contraire, SAP ne répertorie pas vos objets métier personnalisés dans la table de sortie BOR_TREE. Vous ne pouvez pas accéder à vos objets métier personnalisés dans Azure Logic Apps tant que vous n’exposez pas les objets métier à partir de SAP.

L’exemple suivant récupère une liste de banques à l’aide de la méthode BAPI GETLIST. Cet exemple contient l’objet métier d’une banque nommée BUS1011.

<GETLIST xmlns="http://Microsoft.LobServices.Sap/2007/03/Bapi/BUS1011">
   <BANK_CTRY>US</BANK_CTRY>
   <MAX_ROWS>10</MAX_ROWS>
</GETLIST>

L’exemple suivant crée un objet banque à l’aide de la méthode CREATE. Cet exemple utilise le même objet métier que l’exemple précédent, BUS1011. Quand vous utilisez la méthode CREATE pour créer une banque, veillez à valider vos modifications, car cette méthode n’est pas validée par défaut.

Conseil

Veillez à ce que votre document XML respecte les règles de validation configurées dans votre système SAP. Par exemple, pour cet exemple de document, aux États-Unis, la clé de la banque (<BANK_KEY>) doit être un numéro de routage bancaire, également appelé « numéro ABA ».

<CREATE xmlns="http://Microsoft.LobServices.Sap/2007/03/Bapi/BUS1011">
   <BANK_ADDRESS>
      <BANK_NAME xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc">ExampleBankName</BANK_NAME>
      <REGION xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc">ExampleRegionName</REGION>
      <STREET xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc">ExampleStreetAddress</STREET>
      <CITY xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc">Redmond</CITY>
   </BANK_ADDRESS>
   <BANK_CTRY>US</BANK_CTRY>
   <BANK_KEY>123456789</BANK_KEY>
</CREATE>

L’exemple suivant récupère les détails d’une banque en utilisant le numéro de routage bancaire, qui correspond à la valeur de <BANK_KEY>.

<GETDETAIL xmlns="http://Microsoft.LobServices.Sap/2007/03/Bapi/BUS1011">
   <BANKCOUNTRY>US</BANKCOUNTRY>
   <BANKKEY>123456789</BANKKEY>
</GETDETAIL>

Exemples XML pour les requêtes IDoc

Pour générer un schéma XML IDoc SAP simple, utilisez l’application SAP Logon et le T-Code WE60. Accédez à la documentation SAP par le biais de l’interface utilisateur et générez des schémas XML au format XSD pour vos extensions et types IDoc. Pour plus d’informations sur les formats et les charges utiles SAP génériques, ainsi que sur leurs boîtes de dialogue intégrées, consultez la documentation SAP.

Cet exemple déclare le nœud racine et les espaces de noms. L’URI de l’exemple de code, http://Microsoft.LobServices.Sap/2007/03/Idoc/3/ORDERS05//700/Send, déclare la configuration suivante :

  • /IDoc est le nœud racine pour tous les IDocs.

  • /3 est la version des types d’enregistrement pour les définitions communes de segments.

  • /ORDERS05 est le type IDoc.

  • // est un segment vide, car il n’existe pas d’extension IDoc.

  • /700 est la version SAP.

  • /Send est l’action permettant d’envoyer les informations à SAP.

<ns0:Send xmlns:ns0="http://Microsoft.LobServices.Sap/2007/03/Idoc/3/ORDERS05//700/Send" xmlns:ns3="http://schemas.microsoft.com/2003/10/Serialization" xmlns:ns1="http://Microsoft.LobServices.Sap/2007/03/Types/Idoc/Common/" xmlns:ns2="http://Microsoft.LobServices.Sap/2007/03/Idoc/3/ORDERS05//700">
   <ns0:idocData>

Vous pouvez répéter le nœud idocData pour envoyer un lot d’IDocs en un seul appel. Dans l’exemple ci-dessous, il existe un enregistrement de contrôle nommé EDI_DC40 et plusieurs enregistrements de données.

<...>
   <ns0:idocData>
      <ns2:EDI_DC40>
         <ns1:TABNAM>EDI_DC40</ns1:TABNAM>
         <...>
         <ns1:ARCKEY>Cor1908207-5</ns1:ARCKEY>
      </ns2:EDI_DC40>
      <ns2:E2EDK01005>
         <ns2:DATAHEADERCOLUMN_SEGNAM>E23DK01005</ns2:DATAHEADERCOLUMN_SEGNAM>
         <ns2:CURCY>USD</ns2:CURCY>
      </ns2:E2EDK01005>
      <ns2:E2EDK03>
      <...>
   </ns0:idocData>

L’exemple ci-dessous illustre un enregistrement de contrôle IDoc, qui utilise un préfixe nommé EDI_DC. Vous devez mettre à jour les valeurs pour qu’elles correspondent à votre installation SAP et au type IDoc. Par exemple, votre code client IDoc n’est peut-être pas 800. Contactez votre équipe SAP pour vous assurer que vous utilisez les valeurs correctes pour votre installation SAP.

<ns2:EDI_DC40>
   <ns:TABNAM>EDI_DC40</ns1:TABNAM>
   <ns:MANDT>800</ns1:MANDT>
   <ns:DIRECT>2</ns1:DIRECT>
   <ns:IDOCTYP>ORDERS05</ns1:IDOCTYP>
   <ns:CIMTYP></ns1:CIMTYP>
   <ns:MESTYP>ORDERS</ns1:MESTYP>
   <ns:STD>X</ns1:STD>
   <ns:STDVRS>004010</ns1:STDVRS>
   <ns:STDMES></ns1:STDMES>
   <ns:SNDPOR>SAPENI</ns1:SNDPOR>
   <ns:SNDPRT>LS</ns1:SNDPRT>
   <ns:SNDPFC>AG</ns1:SNDPFC>
   <ns:SNDPRN>ABAP1PXP1</ns1:SNDPRN>
   <ns:SNDLAD></ns1:SNDLAD>
   <ns:RCVPOR>BTSFILE</ns1:RCVPOR>
   <ns:RCVPRT>LI</ns1:RCVPRT>

L’exemple ci-dessous illustre un enregistrement de données avec des segments ordinaires. Cet exemple utilise le format de date SAP. Les documents fortement typés peuvent utiliser des formats de date XML natifs, tels que 2020-12-31 23:59:59.

<ns2:E2EDK01005>
   <ns2:DATAHEADERCOLUMN_SEGNAM>E2EDK01005</ns2:DATAHEADERCOLUMN_SEGNAM>
      <ns2:CURCY>USD</ns2:CURCY>
      <ns2:BSART>OR</ns2:BSART>
      <ns2:BELNR>1908207-5</ns2:BELNR>
      <ns2:ABLAD>CC</ns2:ABLAD>
   </ns2>
   <ns2:E2EDK03>
      <ns2:DATAHEADERCOLUMN_SEGNAM>E2EDK03</ns2:DATAHEADERCOLUMN_SEGNAM>
      <ns2:IDDAT>002</ns2:IDDAT>
      <ns2:DATUM>20160611</ns2:DATUM>
   </ns2:E2EDK03>

L’exemple ci-dessous illustre un enregistrement de données avec des segments groupés. L’enregistrement inclut un nœud parent de groupe nommé E2EDKT1002GRP et plusieurs nœuds enfants, notamment E2EDKT1002 et E2EDKT2001.

<ns2:E2EDKT1002GRP>
   <ns2:E2EDKT1002>
      <ns2:DATAHEADERCOLUMN_SEGNAM>E2EDKT1002</ns2:DATAHEADERCOLUMN_SEGNAM>
         <ns2:TDID>ZONE</ns2:TDID>
   </ns2:E2EDKT1002>
   <ns2:E2EDKT2001>
      <ns2:DATAHEADERCOLUMN_SEGNAM>E2EDKT2001</ns2:DATAHEADERCOLUMN_SEGNAM>
         <ns2:TDLINE>CRSD</ns2:TDLINE>
   </ns2:E2EDKT2001>
</ns2:E2EDKT1002GRP>

La méthode recommandée consiste à créer un identificateur IDoc à utiliser avec tRFC. Vous pouvez définir cet identificateur de transaction nommé tid à l’aide de l’opération Envoyer un IDoc dans le connecteur managé SAP.

L’exemple ci-dessous illustre une autre alternative pour définir l’identificateur de transaction, ou tid. Dans cet exemple, le dernier nœud de segment d’enregistrement de données et le nœud de données IDoc sont fermés. Ensuite, l’identificateur unique, guid, est utilisé comme identificateur tRFC pour détecter les doublons.

     </E2STZUM002GRP>
  </idocData>
  <guid>8820ea40-5825-4b2f-ac3c-b83adc34321c</guid>
</Send>

Étapes suivantes