Recevoir des IDOCs de SAP dans un contexte transactionnel à l’aide de BizTalk Server
La réception d’IDOC dans un contexte transactionnel est similaire à la réception de TRFCs dans un contexte transactionnel. Dans ce cas, l’IDOC reçu du système SAP contient un TID dans le cadre de l’élément <TransactionalRfcOperationIdentifier> . Ce TID est conservé dans une base de données SQL par l’adaptateur. Si le code ABAP dans le système SAP qui envoie l’IDOC a une instruction « COMMIT WORK », le TID est supprimé de la base de données SQL après qu’une réponse a été renvoyée au système SAP.
L’orchestration requise pour recevoir un IDOC est similaire, que l’IDOC soit reçu ou non dans un contexte transactionnel. Consultez Recevoir des IDOCs à partir de SAP à l’aide de BizTalk Server. Toutefois, vous devez effectuer certaines tâches supplémentaires pour vous assurer que les IDOCs sont reçus dans un contexte transactionnel.
Au moment de la conception, générez le schéma d’un IDOC que vous souhaitez recevoir.
Au moment de l’exécution, veillez à définir la propriété de liaison TidDatabaseConnectionString. Cette propriété prend le chaîne de connexion de se connecter à une base de données SQL pour stocker le TID. Un exemple chaîne de connexion ressemblerait à :
Data Source=<myServerAddress>;Initial Catalog=<myDataBase>;User Id=<myUsername>;Password=<myPassword>;
Pour plus d’informations sur la propriété de liaison et la façon de la définir, consultez En savoir plus sur l’adaptateur BizTalk pour mySAP Business Suite Binding Properties.
Important
L’Assistant Configuration du pack d’adaptateurs BizTalk installe un script SQL, SapAdapter-DbScript-Install.sql, qui doit être exécuté par l’administrateur SQL Server pour créer une base de données et les objets de base de données dans SQL Server. Le script est généralement installé sur les <fichiers de lecteur>:P rogrammesMicrosoft BizTalk Adapter Pack.
L’adaptateur SAP utilise ces objets pour conserver les TID. Par conséquent, l’administrateur SQL Server doit s’assurer que le nom d’utilisateur fourni dans le cadre du chaîne de connexion dispose des privilèges suffisants pour exécuter les procédures stockées. Vous pouvez également opter pour Authentification Windows à condition que l’utilisateur Windows dispose des autorisations suffisantes pour exécuter des procédures stockées dans la base de données.
Assurez-vous que MSDTC est activé sur l’ordinateur sur lequel l’adaptateur est installé. Effectuez les étapes suivantes pour activer MSDTC.
Démarrez le composant logiciel enfichable MMC Services de composants.
Dans le composant logiciel enfichable MMC Services de composants, dans le volet gauche, développez Services de composants, Ordinateurs, cliquez avec le bouton droit sur Poste de travail, puis cliquez sur Propriétés.
Dans la boîte de dialogue Propriétés du poste de travail , cliquez sur l’onglet MSDTC .
Dans la section Configuration de transaction , cliquez sur le bouton Configuration de la sécurité .
Dans la boîte de dialogue Configuration de la sécurité, sélectionnez la zone Case activée d’accès DTC réseau, puis sélectionnez la zone Autoriser les clients distants case activée.
Dans la section Communication de Transaction Manager, sélectionnez les zones Autoriser les case activée entrants et Autoriser les case activée sortants.
Dans la boîte de dialogue Configuration de la sécurité , cliquez sur OK.
Cliquez sur Oui dans la boîte de dialogue pour vous informer que le service MSDTC va être redémarré. Une fois le service MSDTC redémarré, cliquez sur OK dans la boîte de dialogue.
Dans la boîte de dialogue Propriétés du poste de travail , cliquez sur OK.
Ajoutez MSDTC à la liste des exceptions du Pare-feu Windows, s’il n’est pas déjà ajouté. Exécutez la commande ci-dessous.
netsh firewall set allowedprogram %windir%\system32\msdtc.exe MSDTC enable