Partager via


Opérations sur les BAPIs dans SAP

Une interface de programmation d’application métier (BAPI) est une méthode d’un objet métier SAP qui peut être appelée par un processus externe. Les BAPI sont transactionnels sur le système SAP.

L’adaptateur Microsoft BizTalk pour mySAP Business Suite prend en charge les appels BAPI dans la direction sortante. Il expose les BAPI de deux manières :

  • En tant que RFC. Vous pouvez appeler un BAPI directement en appelant la RFC appropriée.

  • En tant que méthodes d’objets métier. L’adaptateur met en évidence les BAPIs en tant que méthodes d’objets métier pour vous aider à récupérer des métadonnées lorsque vous utilisez le complément de projet BizTalk du service d’adaptateur de consommation ou le plug-in Visual Studio Add Adapter Service Reference.

Important

Vous pouvez appeler un BAPI sur l’adaptateur en tant que RFC ou en tant que méthode d’un objet métier ; mais quelle que soit la façon dont vous appelez l’api BAPI sur l’adaptateur, elle appelle toujours l’api BAPI sur SAP via l’interface RFC.

L’adaptateur prend en charge les transactions BAPI. Le modèle de transaction BAPI sur SAP permet aux utilisateurs de combiner plusieurs API BAPI en une unité logique de travail (LUW). Un LUW SAP se compose de toutes les étapes impliquées dans une transaction, y compris la mise à jour de la base de données.

Les rubriques de cette section expliquent comment les BAPI sont exposés en tant qu’objets métier et comment les transactions BAPI (LUW) sont prises en charge par l’adaptateur.

Opérations BAPI (en tant que méthodes d’objet métier)

L’adaptateur expose les BAPIs en tant que méthodes d’objets métier pour vous aider à récupérer des métadonnées lorsque vous utilisez le complément de projet BizTalk du service d’adaptateur de consommation ou le plug-in Visual Studio Add Adapter Service Reference. L’adaptateur appelle toujours des API sur le système SAP à l’aide de l’interface RFC.

L’adaptateur expose les API BAPIs par nom en tant qu’opérations sous l’objet métier approprié pour les opérations sortantes. Les objets métier sont collectés par groupe fonctionnel sous le nœud de catégorie BAPI par l’adaptateur. (Vous pouvez parcourir ou rechercher des objets métier et des API BAPI sous le nœud BAPI lorsque vous utilisez le plug-in Add Adapter Reference Service ou le complément Consume Adapter Service.)

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

  • PARAMÈTRES IMPORT

  • Paramètres EXPORT

  • PARAMÈTRES CHANGE

  • Paramètres de table

    Pour plus d’informations sur les structures de message et les actions SOAP utilisées pour les API BAPI exposées en tant que méthodes d’objet métier, consultez Schémas de message pour les opérations BAPI.

BAPI Transactions

Lorsque vous appelez un BAPI, il fait toujours partie d’un LUW sur le système SAP. Cela est vrai que vous appeliez le BAPI en tant que RFC ou en tant que méthode d’un objet métier. Le Kit de développement logiciel (SDK) RFC traite tous les BPI envoyés via la même connexion SAP dans le cadre de la même LUW. Après un appel pour valider ou restaurer la transaction sur une connexion, le BAPI suivant envoyé sur la connexion démarre une nouvelle LUW.

Vous appelez BAPI_TRANSACTION_COMMIT ou BAPI_TRANSACTION_ROLLBACK pour valider ou restaurer la transaction. L’adaptateur fait apparaître ces deux api BAPIs :

  • Sous le nœud Base en tant qu’opérations RFC.

  • Sous chaque objet métier.

    Vous contrôlez les BAPIs dans une transaction en vous assurant qu’ils sont tous envoyés via la même connexion SAP (y compris l’appel à la validation ou à la restauration de la transaction). Vous pouvez le faire dans :

  • BizTalk Solutions à l’aide de la propriété de contexte de message ConnectionState pour s’assurer que les BAPI dans une transaction sont envoyés à l’aide de la même connexion. Cette propriété est exposée par l’adaptateur et vous fournit un contrôle explicite sur la connexion utilisée pour envoyer un message dans une orchestration BizTalk.

    Pour effectuer des transactions BAPI à l’aide de BizTalk Server, l’adaptateur SAP prend en charge les propriétés de contexte de message suivantes.

    Champ Description
    OPEN Ouvre un nouveau canal pour la transaction.
    RÉUTILISER Réutiliser le canal existant pour la transaction.
    CLOSE Validez la transaction et fermez le canal existant.
    ABORT Abandonnez la transaction et fermez le canal existant.

    Pour plus d’informations, consultez Exécuter des transactions BAPI dans SAP à l’aide de BizTalk Server.

    Notes

    Veillez à définir la propriété de liaison EnableBizTalkCompatibilityModelors de l’exécution de transactions à l’aide de BizTalk Server.

  • Solutions de modèle de service WCF en veillant à ce que les API BAP dans une transaction soient envoyées à l’aide du même client WCF. Pour plus d’informations, consultez Appeler des API BAP dans SAP à l’aide du modèle de service WCF.

  • Solutions de modèle de canal WCF en veillant à ce que les API BAP dans une transaction soient envoyées sur le même canal WCF. Pour plus d’informations, consultez Développer des applications à l’aide du modèle de canal WCF.

Limitations sur les transactions BAPI

Les restrictions suivantes s’appliquent aux transactions BAPI :

  • Il n’est pas possible d’effectuer deux accès en écriture sur le même instance au sein d’une même LUW. Par exemple, vous ne pouvez pas créer une commande et la mettre à jour dans la même transaction.

  • Lors de l’exécution d’une transaction BAPI à l’aide de BizTalk Server, tous les messages doivent être envoyés sur un seul hôte instance du port d’envoi.

  • Si une instance est créée, mise à jour ou supprimée à l’aide d’une BAPI d’écriture, une BAPI en lecture ne peut pas afficher les données les plus récentes tant que l’api BAPI d’écriture n’est pas validée.

  • Un client externe qui appelle un LUW doit appeler tous les BAPI que le LUW contient sur la même connexion SAP.

Important

Les API BAP qui appartiennent à la version 3.1 appellent COMMIT WORK dans le cadre de leur implémentation. Cela signifie que ces BAPIs ne peuvent pas être inclus avec d’autres BAPIs dans un LUW (car ils valideront la transaction). Pour plus d’informations, consultez la documentation SAP.

Voir aussi

Quelles opérations peuvent être effectuées à l’aide de l’adaptateur ?