Partager via


Opérations sur les TRFC dans SAP

Les RFC transactionnels (TRFC) sont des RFC qui sont appelées dans le cadre d’une unité logique de travail (LUW). Sur un système SAP, un LUW contient toutes les étapes nécessaires à l’exécution d’une tâche métier ou de programmation. Une tRFC représente un moyen d’appeler une RFC ; il ne s’agit pas d’un artefact SAP unique.

Vous pouvez utiliser l’adaptateur Microsoft BizTalk pour mySAP Business Suite en tant que client tRFC et serveur tRFC.

  • En tant que client tRFC, l’adaptateur permet à votre application d’appeler une seule RFC dans un LUW sur le système SAP. Cela garantit une exécution unique de la RFC. Cela n’implique pas de comportement transactionnel.

  • En tant que serveur tRFC, l’adaptateur vous permet de recevoir plusieurs RFC à l’intérieur d’un serveur LUW. L’adaptateur prend en charge les appels tRFC entrants dans un contexte transactionnel ; le comportement de validation et de restauration sont pris en charge.

Opérations tRFC

Un tRFC implique un moyen d’appeler une RFC ; il ne s’agit pas d’un artefact SAP distinct. Par conséquent, chaque RFC sur le système SAP (pour lequel l’adaptateur peut récupérer des métadonnées) est également exposé en tant que tRFC par l’adaptateur SAP. Les TRFC sont exposés par le nom RFC en tant qu’opérations sous le nœud de catégorie de métadonnées TRFC. (Vous pouvez parcourir ou rechercher des TRFCs sous le nœud TRFC lorsque vous utilisez le plug-in Add Adapter Service Reference Plug-in ou le Consume Adapter Service Add.)

L’adaptateur SAP prend en charge les éléments suivants sur les TRFC :

  • PARAMÈTRES IMPORT

  • PARAMÈTRES CHANGING (seul le côté entrée du paramètre CHANGING est pris en charge)

Notes

Les tRFCs sont exécutés de manière asynchrone, de sorte qu’aucune valeur de sortie (paramètres EXPORT ou CHANGING) n’est retournée pour elles.

Un paramètre GUID est exposé par l’adaptateur pour les opérations tRFC. Ce GUID est mappé par l’adaptateur à l’ID de transaction SAP (TID) associé au tRFC. Vous pouvez utiliser ce paramètre GUID pour :

  • Confirmez la tRFC sur le système SAP dans les appels clients tRFC. Pour ce faire, appelez l’opération RfcConfirmTransId. Il s’agit d’une opération spéciale mise en évidence par l’adaptateur pour confirmer un TID sur le système SAP.

  • Obtenez le TID SAP réel utilisé pour un tRFC à partir de l’adaptateur dans les scénarios du client tRFC et du serveur tRFC. Pour ce faire, appelez la méthode de l’utilitaire SAP ConvertGuidToTid.

    Pour plus d’informations sur ces opérations, consultez Opérations spéciales. Pour plus d’informations sur les structures de messages et les actions SOAP utilisées pour les TRFC par l’adaptateur, consultez Schémas de message pour les opérations tRFC.

Appel de RFC transactionnels dans un système SAP

En règle générale, les TRFC sont utilisés pour exécuter un ou plusieurs appels RFC à l’intérieur d’un seul LUW ; Toutefois, en raison des limitations du KIT de développement logiciel (SDK) RFC SAP, l’adaptateur SAP ne prend en charge qu’une seule tRFC par LUW. Pour cette raison, l’adaptateur crée un LUW (SAP TID) pour chaque tRFC. Pour ces clients, SAP définit une LUW comme un mécanisme permettant de garantir l’exécution « ponctuelle » de la RFC et n’implique pas de transactions basées sur la validation et la restauration.

Les étapes suivantes résument les tâches effectuées dans un appel client RFC à l’aide de l’adaptateur SAP. Certaines de ces étapes sont effectuées par le client de l’adaptateur et d’autres par l’adaptateur.

  1. Le client de l’adaptateur envoie un message de demande pour l’opération tRFC. Le client de l’adaptateur peut éventuellement fournir un GUID dans ce message.

  2. L’adaptateur SAP reçoit le message de demande et utilise le Kit de développement logiciel (SDK) RFC pour obtenir un ID de transaction (TID) du système SAP. Si le message de demande contient un GUID, l’adaptateur mappe ce GUID au TID SAP ; sinon, l’adaptateur crée un GUID et le mappe au TID SAP

  3. L’adaptateur utilise le TID pour effectuer l’appel tRFC au serveur SAP. La status du TID est marquée comme terminée sur le système SAP.

  4. L’adaptateur retourne le GUID (mappé au TID) au client de l’adaptateur dans le message de réponse.

  5. Le client de l’adaptateur appelle l’opération RfcConfirmTransID sur l’adaptateur avec le GUID retourné à l’étape précédente.

  6. L’adaptateur utilise le GUID dans le message de demande RfcConfirmTransID pour identifier le TID SAP et confirmer l’appel tRFC sur le système SAP. Le serveur SAP supprime alors l’entrée TID de sa base de données.

Notes

Les appels clients tRFC ne retournent pas de paramètres EXPORT ou CHANGING.

Le cas échéant, consultez les références suivantes :

Réception d’appels RFC transactionnels entrants à partir d’un système SAP

Vous pouvez utiliser l’adaptateur en tant que serveur tRFC pour recevoir des tRFC de SAP. En tant que serveur tRFC, lorsque l’adaptateur reçoit un tRFC, il appelle l’opération tRFC correspondante sur votre application. L’adaptateur prend en charge les fonctionnalités suivantes lorsqu’il agit en tant que serveur tRFC :

  • Un LUW (identifié par un TID SAP) peut contenir plusieurs tRFC (appels RFC).

  • L’adaptateur crée une transaction pouvant être validée pour chaque TID SAP. Votre code d’application peut s’inscrire dans cette transaction.

  • La validation et la restauration sont prises en charge.

    Le reste de cette section fournit des informations générales sur l’utilisation de l’adaptateur en tant que serveur tRFC. Pour plus d’informations sur :

  • Réception d’appels tRFC entrants à l’aide de BizTalk Server, consultez Recevoir des appels tRFC entrants de SAP à l’aide de BizTalk Server.

  • Réception d’appels tRFC entrants à l’aide du modèle de service WCF, consultez Recevoir des appels tRFC entrants dans SAP à l’aide du modèle de service WCF.

Base de données TID

Lorsqu’il agit en tant que serveur tRFC, l’adaptateur utilise une base de données SQL Server (la base de données TID) pour gérer les ID de transaction qu’elle reçoit du système SAP. Par exemple, il utilise la base de données TID pour faciliter la gestion des appels à partir du système SAP pour valider, restaurer et confirmer le TID. L’adaptateur stocke également le GUID qu’il crée et associe à chaque TID SAP dans la base de données TID.

Prérequis

Pour que l’adaptateur fonctionne en tant que serveur tRFC, vous devez vérifier que les conditions suivantes sont remplies :

  • La RFC doit être déclarée sur le système SAP. Ainsi, l’adaptateur peut récupérer les métadonnées qui décrivent la RFC à partir du système SAP. La RFC est en fait implémentée dans votre application.

  • L’adaptateur doit s’inscrire auprès d’une destination RFC sur une passerelle SAP. L’inscription est basée sur un nom logique appelé ID de programme. Vous fournissez des paramètres dans l’URI de connexion pour spécifier l’ID de programme, la passerelle SAP et le serveur SAP pour cette inscription.

  • La base de données TID doit être créée dans SQL Server. Pour ce faire, vous devez exécuter un script SQL installé par le programme d’installation. Le script SQL est généralement installé sur le <lecteur> d’installation :\Program Files\Microsoft BizTalk Adapter Pack. Pour plus d’informations, consultez Installation du pack d’adaptateurs BizTalk.

  • La propriété de liaison TidDatabaseConnectionString doit être définie sur la base de données SQL chaîne de connexion pour la base de données TID. Pour plus d’informations sur la propriété de liaison TidDatabaseConnectionString , consultez En savoir plus sur les propriétés de liaison de l’adaptateur BizTalk pour mySAP Business Suite.

Notes

La définition de la propriété de liaison TidDatabaseConnectionString configure l’adaptateur pour qu’il agisse en tant que serveur tRFC plutôt qu’en tant que serveur RFC. Si la propriété de liaison TidDatabaseConnectionString est définie et que vous spécifiez une destination RFC dans l’URI de connexion, l’adaptateur agit en tant que serveur tRFC pour les appels entrants à partir de la destination RFC. Si cette propriété de liaison n’est pas définie, l’adaptateur agit comme un serveur RFC.

Comment l’adaptateur traite les TRFCs entrants

Les étapes suivantes résument les tâches effectuées par l’appel client RFC à l’aide de l’adaptateur SAP. Certaines de ces étapes sont effectuées par le client de l’adaptateur et d’autres par l’adaptateur.

  1. Le système SAP appelle l’adaptateur pour savoir si un TID a déjà été utilisé. L’adaptateur retourne la réponse appropriée au système SAP. Si le TID est nouveau, l’adaptateur crée une transaction pouvant être validée. Cette transaction est utilisée pour conserver le TID dans la base de données TID de manière transactionnelle lorsque le programme SAP effectue une validation (COMMIT WORK). Il est également exposé au code d’application qui gère les TRFC entrants. En outre, l’adaptateur crée un GUID qu’il associe au TID SAP.

  2. Le système SAP envoie un ou plusieurs RFC transactionnels à l’adaptateur. Pour chaque tRFC, l’adaptateur appelle l’opération tRFC appropriée sur votre application. L’adaptateur fluxe la transaction créée à l’étape 1 vers votre application pour chaque opération. L’adaptateur transmet le GUID créé à l’étape 1 dans le message de demande pour l’opération.

  3. Le système SAP valide la LUW (COMMIT WORK). L’adaptateur tente de valider la transaction associée au TID SAP (créé à l’étape 1).

    1. Si la transaction a été abandonnée (par votre application) pendant l’un des appels de l’étape 2, une erreur se produit lorsque l’adaptateur tente de valider la transaction. L’erreur est retournée à SAP. Passez à l’étape 4.

    2. Si la validation réussit, le TID se trouve désormais dans la base de données TID. Passez à l’étape 5.

  4. Si une erreur s’est produite à l’étape 3, ou si SAP restaure la LUW (RESTART_OF_BACKGROUNDTASK) au lieu de la valider, l’adaptateur annule la transaction. Dans ce cas, le TID n’est jamais conservé dans la base de données TID.

  5. Le système SAP confirme le TID. L’adaptateur supprime le TID de la base de données TID (en supposant que l’étape 3 s’est terminée correctement et que le TID existe dans la base de données TID.

Notes

Si une erreur se produit lors d’une tentative de connexion à la base de données TID pendant une opération de serveur tRFC, un code d’erreur indiquant que l’appel entrant de SAP n’a pas été traité par l’adaptateur SAP est retourné à SAP.

Réception d’IDOCs en tant que serveur tRFC

Vous utilisez l’adaptateur SAP en tant que serveur RFC ou serveur tRFC pour recevoir des AIDO du système SAP. Dans les deux cas, vous devez définir la propriété de liaison ReceiveIdocFormat pour spécifier le format dans lequel l’adaptateur doit émettre les données IDOC à votre application. Pour plus d’informations sur la réception d’AIDO avec l’adaptateur, consultez Opérations sur les AIDO dans SAP. Pour plus d’informations sur les propriétés de liaison de l’adaptateur SAP, consultez En savoir plus sur les propriétés de liaison de l’adaptateur BizTalk pour mySAP Business Suite.

Opérations tRFC spéciales

L’adaptateur SAP peut également effectuer certaines opérations tRFC spéciales sur le système SAP. L’une de ces opérations est RfcConfirmTransID.

  • RfcConfirmTransID. Vous appelez cette opération sur l’adaptateur SAP pour confirmer les appels tRFC effectués au serveur SAP. RfcConfirmTransID peut être nécessaire dans les scénarios où l’adaptateur est utilisé pour envoyer des IDOC au serveur SAP en tant que tRFC. L’opération est disponible sous le nœud TRFC lors de l’utilisation du plug-in Add Adapter Reference Service Plug-in et Consume Adapter Service Add.

    Pour plus d’informations sur la structure des messages et l’action SOAP pour l’opération RfcConfirmTransID, consultez Schémas de message pour les opérations tRFC.

Voir aussi

Se connecter à un système SAP à l’aide de l’adaptateur