Procédure pas à pas (X12) : envoi d'échanges EDI traités par lot
Cette procédure pas à pas fournit un ensemble de procédures pas à pas qui créent une solution pour l’envoi d’échanges EDI par lot d’une partie à une autre à l’aide de BizTalk Server.
Prérequis
Vous devez être connecté en tant que membre du groupe Administrateurs BizTalk Server ou BizTalk Server groupe Opérateurs B2B.
Envoi des échanges EDI par lot par la solution
La solution effectue les opérations suivantes :
L’emplacement de réception reçoit un échange EDI d’une partie A.
Notes
Les événements dans cette liste peuvent se produire dans un ordre différent de celui indiqué.
Le pipeline de réception convertit le format EDI de l'échange au format XML interne. Le pipeline de réception détermine si l'échange doit être traité par lot. Par conséquent, le composant BatchMarkerReceivePipeline promeut les
EDI.ToBeBatched==True
propriétés etEDI.BatchId
. Il dépose ensuite l'échange dans la boîte MessageBox.L’orchestration de traitement par lots récupère l’échange reçu à partir de MessageBox, car elle s’abonne au message en fonction
EDI.ToBeBatched==True
de etEDI.BatchId==%BatchID%
.L'emplacement de réception reçoit un deuxième échange EDI du même tiers qui a envoyé le premier échange.
L'emplacement de réception traite l'échange comme à l'étape 2, puis dépose l'échange dans la boîte MessageBox.
L'orchestration du traitement par lot récupère l'échange comme à l'étape 3.
Une fois les critères de mise en production remplis (les critères de mise en production définissent la façon dont les échanges doivent être mis en correspondance), l’orchestration de traitement par lots assemble l’échange contenant tous les échanges, puis promeut les
EDI.ToBeBatched==False
propriétés de contexte ,EDI.BatchName
etEDI.DestinationPartyName
. Il dépose l'échange par lot dans la boîte MessageBox.Le port d’envoi récupère l’échange par lot en s’abonnant sur les propriétés
EDI.ToBeBatched
de contexte ==False,EDI.BatchName
etEDI.DestinationPartyName
.Le pipeline d’envoi applique des propriétés supplémentaires à l’enveloppe de l’échange par lots, puis envoie l’échange à la partie de destination, la partie B.
Notes
Pour plus d’informations, consultez Assemblage d’un échange EDI batché.
L'architecture de cette solution est représentée dans la figure suivante.
Fonctionnalités dans la solution
Pour les besoins de cette procédure, la fonctionnalité suivante est activée :
La solution est conçue pour les échanges basés sur le codage X12, et non le codage EDIFACT.
Notes
La configuration utilisée pour HIPAA et pour le codage EDIFACT est proche de celle utilisée pour le codage X12.
Des accusés de réception techniques ou fonctionnels ne sont pas renvoyés en réponse à l'échange initialement reçu ou à tout échange par lot envoyé.
Notes
Pour plus d’informations sur la génération d’accusés de réception EDI, consultez Procédure pas à pas (X12) : réception d’échanges EDI et envoi d’un accusé de réception.
Cette solution utilise un port de réception unidirectionnel et un port d’envoi unidirectionnel statique. Ces ports sont configurés avec le type de transport FILE.
La création de rapports EDI est activée.
Les documents informatisés sont enregistrés pour être consultables depuis le rapport État de l'échange.
Configuration et test de la procédure pas à pas
Les étapes suivantes sont requises pour configurer cette solution :
Ajoutez le ou les schémas de message requis à un projet BizTalk, puis générez et déployez le projet, ce qui rend le ou les schémas disponibles pour une utilisation par BizTalk Server dans le traitement des messages.
Mettez à jour l’intervalle d’interrogation de l’adaptateur SQL dans l’emplacement de réception BatchControlMessageReccvLoc, afin que l’orchestration de traitement par lot soit activée rapidement lorsque vous cliquez sur le bouton Démarrer pour envoyer le message de contrôle qui activera un instance d’orchestration de traitement par lot.
Créez un port de réception pour BizTalk Server de recevoir les messages d’entrée .txt edi encodés par un tiers.
Créer un tiers (partenaire commercial) pour Tiers A et Tiers B.
Créer un profil d'entreprise pour les deux partenaires commerciaux.
Créer un accord entre les deux profils via la configuration des propriétés EDI du message à recevoir. Configurez les propriétés EDI du message par lot à envoyer. Pour cette solution, configurez les accords de manière à ce que BizTalk Server envoie un lot au Tiers B dès réception de deux échanges 850.
Créez un port d’envoi pour BizTalk Server pour envoyer l’échange EDI par lots au partenaire commercial. Ce port d'envoi est un port d'envoi unidirectionnel statique.
Associez le port d'envoi à l'accord qui traite les échanges et les met en correspondance.
Faites glisser deux échanges EDI tests dans le dossier local associé à l'emplacement de réception, et vérifiez que BizTalk Server a déposé un échange par lot dans le dossier associé au port d'envoi.
Configuration de la procédure pas à pas
Cette section décrit les étapes de configuration de la procédure pas à pas.
Pour déployer le schéma de message
Dans Visual Studio, créez ou ouvrez un projet BizTalk.
Notes
Cette rubrique part du principe que vous avez déjà ajouté une référence de votre application à l'application BizTalk EDI, qui contient les schémas, pipelines et orchestrations EDI. Si ce n’est pas le cas, consultez Ajouter une référence à l’application EDI BizTalk Server.
Cliquez avec le bouton droit sur votre projet, pointez sur Ajouter, puis cliquez sur Élément existant. Accédez à \Program Files (x86)\Microsoft BizTalk Server <VERSION>XSD_Schema\EDI\X12\00401, puis double-cliquez sur le schéma correspondant à votre message de test.
Notes
Si les schémas EDI n’ont pas été décompressés dans les dossiers \XSD_Schema\EDI, exécutez le fichier MicrosoftEdiXSDTemplates.exe dans le dossier \XSD_Schema\EDI pour décompresser les schémas dans le dossier par défaut.
Notes
Pour un message test, vous pouvez utiliser l'exemple de message 850 utilisé dans le didacticiel pour développeur d'interface EDI. Ce fichier est SamplePO.txt dans \Program Files (x86)\Microsoft BizTalk Server <VERSION>SDK\EDI Interface Developer Tutorial\. Dans ce cas, vous devez utiliser le schéma x12_00401_850.xsd situé dans \Program Files (x86)\Microsoft BizTalk Server <VERSION>SDK\EDI Interface Developer Tutorial\Inbound_EDI.
Définissez le fichier de clé d'assembly, puis créez et déployez l'assembly.
Pour mettre à jour la fréquence d'interrogation
Dans BizTalk Server console d’administration, ouvrez le groupe BizTalk, les nœuds Applications, les nœuds Application EDI BizTalk et les nœuds Emplacements de réception. Sous le nœud Emplacements de réception, cliquez avec le bouton droit sur BatchControlMessageRecvLoc, puis cliquez sur Propriétés.
Pour le type de transport SQL, cliquez sur Configurer.
Dans la boîte de dialogue Propriétés du transport SQL , définissez l’intervalle d’interrogation sur une valeur plus petite. Par exemple, vous pouvez remplacer l’unité d’interrogation de mesure par Secondes, au lieu de minutes, pour que l’intervalle d’interrogation soit de 5 secondes.
Notes
La modification de la fréquence d'interrogation assure que l'orchestration de traitement par lot sera rapidement activée.
Cliquez sur OK, puis à nouveau sur OK.
Pour créer un port de réception unidirectionnel pour recevoir les messages EDI à traiter par lot
Créez un dossier local pour recevoir les messages EDI à traiter par lot.
Dans BizTalk Server console d’administration, cliquez avec le bouton droit sur le nœud Ports de réception sous le nœud Application BizTalk 1, pointez sur Nouveau, puis cliquez sur Port de réception unidirectionnel.
Nommez le port de réception, puis cliquez sur Emplacements de réception dans l’arborescence de la console.
Cliquez sur Nouveau.
Nommez l’emplacement de réception, sélectionnez FICHIER comme Type, puis cliquez sur Configurer.
Entrez un dossier pour dossier De réception et un masque pour Masque de fichier, par exemple *.txt.
Cliquez sur OK.
Pour Pipeline de réception, sélectionnez EdiReceive.
Cliquez sur OK, puis à nouveau sur OK.
Dans l’arborescence de la console, cliquez sur Emplacements de réception. Dans le volet Emplacements de réception, cliquez avec le bouton droit sur votre emplacement de réception, puis cliquez sur Activer.
Pour créer un tiers et un profil d'entreprise pour Tiers A
Cliquez avec le bouton droit sur le nœud Parties dans la console d’administration BizTalk Server, pointez sur Nouveau, puis cliquez sur Partie.
Entrez un nom pour le groupe dans la zone de texte Nom , puis cliquez sur OK.
Notes
En sélectionnant la zone BizTalk local traite les messages reçus par le tiers OU prend en charge l’envoi de messages à partir de cette partie case activée, vous pouvez spécifier que la partie en cours de création est pour le même organization qui héberge également BizTalk Server. En prenant ces éléments en compte, certaines propriétés devront être activées et d'autres désactivées lors de la création d'un accord. Toutefois, pour les besoins de cette procédure pas à pas, vous pouvez laisser cette case à cocher activée.
Cliquez avec le bouton droit sur le nom du groupe, pointez sur Nouveau, puis cliquez sur Profil professionnel.
Dans la boîte de dialogue Propriétés du profil , dans la page Général , entrez PartyA_Profile dans la zone de texte Nom .
Notes
Lorsque vous créez un tiers, un profil est également créé. Vous pouvez renommer et utiliser ce profil plutôt que d'en créer un nouveau. Pour renommer un profil, cliquez avec le bouton droit sur le profil, puis sélectionnez Propriétés. Dans la page Général , spécifiez un nom pour le profil.
Pour créer un tiers et un profil d'entreprise pour Tiers B
Cliquez avec le bouton droit sur le nœud Parties dans la console d’administration BizTalk Server, pointez sur Nouveau, puis cliquez sur Partie.
Entrez un nom pour la partie dans la zone de texte Nom , puis cliquez sur OK.
Notes
En sélectionnant la zone BizTalk local traite les messages reçus par la partie OU prend en charge l’envoi de messages à partir de cette partie case activée, vous pouvez spécifier que la partie en cours de création est pour le même organization qui héberge également BizTalk Server. En prenant ces éléments en compte, certaines propriétés devront être activées et d'autres désactivées lors de la création d'un accord. Toutefois, pour les besoins de cette procédure pas à pas, vous pouvez laisser cette case à cocher activée.
Cliquez avec le bouton droit sur le nom de la partie, pointez sur Nouveau, puis cliquez sur Profil professionnel.
Dans la boîte de dialogue Propriétés du profil , dans la page Général , entrez PartyB_Profile dans la zone de texte Nom .
Notes
Lorsque vous créez un tiers, un profil est également créé. Vous pouvez renommer et utiliser ce profil plutôt que d'en créer un nouveau. Pour renommer un profil, cliquez avec le bouton droit sur le profil, puis sélectionnez Propriétés. Dans la page Général , spécifiez un nom pour le profil.
Pour créer un accord entre les deux profils d'entreprise
Cliquez avec le bouton droit sur PartyA_Profile, pointez sur Nouveau, puis cliquez sur Contrat.
Dans la page Propriétés générales , pour la zone de texte Nom , entrez un nom pour le contrat.
Dans la liste déroulante Protocole , sélectionnez X12.
Dans la section Deuxième partenaire , dans la liste déroulante Nom , sélectionnez PartyB.
Dans la section Deuxième partenaire , dans la liste déroulante Profil , sélectionnez PartyB_Profile.
Vous remarquerez que deux nouveaux onglets sont ajoutés en regard de l’onglet Général . Chaque onglet permet de configurer un accord unidirectionnel et chaque accord unidirectionnel représente une transaction complète de message (y compris le transfert de message et le transfert d’accusé de réception).
Sous l’onglet Général , dans la page Propriétés générales , dans la section Paramètres communs de l’hôte , sélectionnez Activer la création de rapports, puis sélectionnez Stocker la charge utile des messages pour la création de rapports.
Effectuez les tâches suivantes sous l’onglet PartyA-PartyB>.
Dans la page Identificateurs sous la section Paramètres d’échange , entrez les valeurs des champs qualificateur et identificateur (ISA5, ISA6, ISA7 et ISA8) qui correspondent aux valeurs de ces champs d’en-tête dans votre message de test.
Notes
BizTalk Server nécessite les champs qualificateur et identificateur pour l’expéditeur et le destinataire afin d’effectuer la résolution du contrat. Il fera correspondre les valeurs d’ISA5, ISA6, ISA7 et ISA8 dans l’en-tête d’échange avec celles des propriétés d’un contrat. BizTalk Server résout également le contrat en faisant correspondre le qualificateur et l’identificateur de l’expéditeur (sans le qualificateur et l’identificateur du destinataire). Si BizTalk Server ne peut pas résoudre le contrat, il utilise les propriétés de l’accord de secours.
Notes
Si vous utilisez le fichier SamplePO.txt du « Tutoriel du développeur d’interface EDI » comme message de test, définissez ISA5 sur ZZ, ISA6 sur THEM, ISA7 sur ZZ et ISA8 sur US.
Dans la page Validation , sous la section Paramètres d’échange , vérifiez que l’option Rechercher le double ISA13 est décochée.
Notes
L’effacement de la propriété Vérifier la valeur ISA13 en double vous permet de recevoir plusieurs instances du même message.
Dans la page Ensemble de caractères et séparateurs sous la section Paramètres d’échange , sélectionnez l’option CR LF .
Dans la page Configuration par lots , sous la section Paramètres d’échange , procédez comme suit :
Cliquez sur Nouveau lot.
Sous la section Identification , pour Le texte Nom du lot , entrez
Batch1
.Sous la section Filtrer , cliquez sur le bouton Filtrer et, dans la boîte de dialogue Filtre par lots , procédez comme suit :
Cliquez sur la cellule vide sous la colonne Propriété , puis sélectionnez BTS. ReceivePortName.
Cliquez sur la cellule vide sous la colonne Opérateur , puis sélectionnez ==.
Cliquez sur la cellule vide sous la colonne Valeur et entrez le nom du port de réception que vous avez créé précédemment.
Cliquez sur OK.
Dans la section Mise en production , sélectionnez l’option Nombre maximal de jeux de transactions dans, dans la liste déroulante, sélectionnez Échanger, puis, dans la zone de texte, entrez le nombre d’échanges qui seront traités par lot. Dans cette solution, vous allez traiter par lot deux échanges. Par conséquent, dans la zone de texte, entrez
2
.Sous la section Activation , sélectionnez Démarrer immédiatement.
Dans la page Enveloppes sous la section Paramètres de l’ensemble de transactions, entrez les valeurs de toutes les colonnes de la première ligne de la grille.
Propriété Pour Par défaut Sélectionnez Par défaut. Note: Lorsque vous sélectionnez cette ligne comme valeur par défaut, les valeurs pour GS1, GS2, GS3, GS7 et GS8 sont utilisées même si les valeurs pour Type de transaction, Version/Version et espace de noms Cible ne correspondent pas au message. Transaction Type Sélectionnez le type de message de votre message de test, 850 - Bon de commande. Version Entrez la version EDI, 00401. Espace de noms cible Sélectionnez http://schemas.microsoft.com/BizTalk/EDI/X12/2006
.GS1 Vérifiez que le type de message du message de test est sélectionné, po - Bon de commande (850). GS2 Entrez une valeur pour l’expéditeur de l’application, par exemple, Achat. GS3 Entrez une valeur pour le récepteur d’application, par exemple , OrderControl. GS4 Sélectionnez le format de date souhaité. Note: Vous devez sélectionner la valeur dans la liste déroulante, et pas simplement cliquer dans le champ pour afficher la valeur par défaut. Si vous cliquez dans le champ sans sélectionner la valeur dans la liste déroulante, la valeur ne sera pas réellement sélectionnée. GS5 Sélectionnez le format d'heure souhaité. GS7 Sélectionnez X - Comité des normes accréditées X12. GS8 Vérifiez que la version EDI a été entrée, 00401. Notes
BizTalk Server définissez les valeurs pour GS01, GS02, GS03, GS04, GS05, GS07 et GS08 des accusés de réception sortants en fonction des valeurs entrées pour Type de transaction, Version/Version et Espace de noms Cible. Le pipeline d'envoi tente de faire correspondre le type de transaction, la version X12 et l'espace de noms cible avec les valeurs correspondantes dans l'en-tête du message. En cas de réussite, elle utilise les valeurs GS associées aux valeurs Type de transaction, Version/Version et Espace de noms Cible .
Effectuez les tâches suivantes sous l’onglet PartyB-PartyA>.
Notes
Dans cette procédure pas à pas, la valeur requise est spécifiée sous l'onglet afin de permettre la création d'un accord. Pour créer un contrat, les deux onglets d’accord unidirectionnel doivent avoir des valeurs définies pour ISA5, ISA6, ISA7 et ISA8.
Dans la page Identificateurs sous la section Paramètres d’échange , entrez les valeurs des champs qualificateur et identificateur (ISA5, ISA6, ISA7 et ISA8) qui correspondent aux valeurs de ces champs d’en-tête dans votre message de test.
Notes
Si vous utilisez le fichier SamplePO.txt du « tutoriel du développeur d’interface EDI » comme message de test, définissez ISA5 sur ZZ, ISA6 sur US, ISA7 sur ZZ et ISA8 sur THEM.
Cliquez sur Appliquer.
Cliquez sur OK. Le contrat qui vient d’être ajouté est répertorié dans la section Contrats du volet Parties et profils métier . L’accord qui vient d’être ajouté est activé par défaut.
Pour créer un port d'envoi unidirectionnel statique pour envoyer l'échange EDI par lot
Créez un dossier local pour envoyer le message EDI à traiter par lot.
Dans BizTalk Server console d’administration, cliquez avec le bouton droit sur le nœud Ports d’envoi sous le nœud Application BizTalk 1, pointez sur Nouveau, puis cliquez sur Port d’envoi unidirectionnel statique.
Dans la boîte de dialogue Propriétés du port d’envoi, nommez le port d’envoi.
Dans la section Transport , sélectionnez FICHIER pour Type, puis cliquez sur Configurer.
Entrez un dossier pour le dossier Destination et un nom de fichier, tel que %MessageID%.txt.
Cliquez sur OK.
Dans Envoyer le pipeline, sélectionnez EdiSend.
Dans l’arborescence de la console, sélectionnez Filtres. Dans la page Filtres , procédez comme suit :
Sur la première ligne de la grille, sélectionnez EDI. DestinationPartyName pour Property, == pour Operator, le nom que vous avez sélectionné pour le tiers auquel envoyer le lot pour Value, et pour Group by.
Sur la deuxième ligne, sélectionnez EDI. ToBeBatched pour Property, == pour Operator, et False pour Value, et Et pour Regrouper par.
Sur la troisième ligne, sélectionnez EDI. BatchName pour Property, == pour Operator et le nom du lot pour Value.
Cliquez sur OK.
Dans l’arborescence de la console, cliquez sur Envoyer les ports. Dans le volet Ports d’envoi , cliquez avec le bouton droit sur votre port d’envoi, puis cliquez sur Démarrer.
Pour associer le port d'envoi à l'accord créé pour le traitement par lot
Cliquez avec le bouton droit sur le contrat que vous avez créé précédemment, puis cliquez sur Propriétés.
Dans la boîte de dialogue Propriétés du contrat, sous l’onglet PartyA-PartyB>, cliquez sur Envoyer les ports dans le volet gauche.
Dans la page Ports d’envoi sous la section Paramètres d’échange , associez le port d’envoi que vous avez créé précédemment. Dans la grille Des ports d’envoi, sous la colonne Nom , cliquez sur une cellule vide et, dans la liste déroulante, sélectionnez le port d’envoi.
Cliquez sur OK.
Test de la procédure pas à pas
Cette section fournit des informations sur le test de la procédure pas à pas.
Pour tester la procédure pas à pas
Dans l'Explorateur Windows, ouvrez le dossier local associé à l'emplacement de réception, puis déposez un échange EDI test dans le dossier.
Notes
Pour un message test, vous pouvez utiliser l'exemple de message 850 utilisé dans le didacticiel pour développeur d'interface EDI. Ce fichier est SamplePO.txt dans \Program Files (x86)\Microsoft BizTalk Server <VERSION>SDK\EDI Interface Developer Tutorial\. Dans ce cas, vous devez utiliser le schéma x12_00401_850.xsd situé dans \Program Files (x86)\Microsoft BizTalk Server <VERSION>SDK\EDI Interface Developer Tutorial\Inbound_EDI.
Placez une deuxième copie de l'échange EDI test dans le dossier.
Ouvrez le dossier que vous avez associé au port d'envoi des échanges, puis ouvrez l'échange traité par lot. Vérifiez que l'échange contient un jeu d'en-têtes ISA et GS, et deux documents informatisés.
Voir aussi
Développement et configuration de solutions EDI BizTalk Server
Configuration d’un lot sortant
Assemblage d’un échange EDI traité par lot
Assemblage d’un échange EDI traité par lot
Procédure pas à pas (X12) : réception d'échanges EDI et envoi d'un accusé de réception
Procédure pas à pas (X12) : envoi d'échanges EDI