Mise en corrélation d'un document informatisé entrant avec un lot sortant
BizTalk Server vous permet de mettre en corrélation un jeu de transactions EDI soumis à l’orchestration de traitement par lots avec un lot sortant. Pour ce faire, vous corrélez une entrée de rapport d'état pour le document informatisé soumis à l'orchestration de traitement (BTSInterchangeID) avec une entrée de rapport d'état pour l'orchestration (ActivityID). Cette corrélation est effectuée à l'aide d'entrées dans l'activité BAM BusinessMessageJournal. Ces entrées sont créées par l'orchestration de traitement par lot lors de la réception d'un élément de lot.
Important
BizTalk Server n’effectuez des entrées dans l’activité BusinessMessageJournal que si la création de rapports edi status et le suivi des ensembles de transactions sont activés pour le contrat.
Les sections ci-dessous décrivent les aspects suivants :
Comment BizTalk Server enregistre les données de suivi
Comment créer un composant de pipeline personnalisé pour activer la corrélation
Comment vous corréler un document informatisé entrant avec un lot sortant
Comment interroger l'activité BusinessMessageJournal pour déterminer l'ID BTSInterchangeID du lot si vous connaissez l'ID BTSInterchangeID du document informatisé qu'il contient.
Prérequis
Vous devez être connecté en tant que membre du groupe Administrateurs BizTalk Server ou BizTalk Server groupe Opérateurs B2B.
Modifications apportées aux activités
L'orchestration de traitement par lot crée des entrées dans les activités BAM BatchingActivity, TransactionSetActivity et BusinessMessageJournal. À mesure qu’un jeu de transactions se déplace dans BizTalk Server, BizTalk Server effectuez les entrées suivantes dans ces tables d’activités pour le jeu de transactions et le lot qui l’inclut :
Lorsque le Désassembleur EDI traite un échange EDI entrant, il crée des entrées dans les tables InterchangeStatusActivity et TransactionSetActivity.
Notes
Pour plus d’informations sur les activités BAM, consultez Activités BAM créées pour suivre les messages EDI-AS2.
Lors de son instanciation, l'orchestration de traitement par lot crée une entrée dans la table BatchingActivity. Le sous-système BAM crée une valeur pour l'ActivityID.
Après avoir sélectionné le document informatisé, l'orchestration de traitement par lot crée une entrée pour ce dernier dans la table TransactionSetActivity.
L'orchestration crée une entrée dans l'activité BusinessMessageJournal. Elle définit le champ MessageTrackingID de cette activité sur la valeur du champ ActivityID de l'entrée que l'orchestration a créée dans la table TransactionSetActivity. Elle définit également le champ BTSInterchangeID sur la propriété de contexte BTS.InterchangeID, et le champ BTSMessageID sur la propriété de contexte BTS.MessageID pour le document informatisé.
L'orchestration crée une deuxième entrée dans l'activité BusinessMessageJournal. Elle définit le champ MessageTrackingID sur la valeur du champ ActivityID de l'entrée que l'orchestration a créée dans la table TransactionSetActivity. Elle définit le champ BTSInterchangeID sur la propriété de contexte BTS.InterchangeID pour le lot. Elle ne définit pas le champ BTSMessageID. Elle définit le champ ContainerActivityID sur la valeur d'ActivityID dans la table BatchingActivity.
Création d'un composant de pipeline personnalisé pour activer la corrélation
Pour configurer une corrélation de document informatisé entrant avec un lot sortant contenant ce document informatisé, vous devez créer un composant de pipeline personnalisé. Ce composant de pipeline doit suivre le Désassembleur EDI et précéder le composant BatchMarker du pipeline EDIReceive. Ce composant de pipeline doit créer une entrée dans l'activité BusinessMessageJournal. Dans cette entrée, le champ BTSInterchangeID doit être défini sur la propriété de contexte BTS.InterchangeID, et le champ BTSMessageID sur la propriété de contexte BTS.MessageID.
Recherche de la propriété InterchangeID pour un document informatisé dans un lot
Vous corrélez un échange reçu et le lot contenant le document informatisé de l'échange à l'aide des entrées de la table BatchingActivity et de l'activité BusinessMessageJournal comme décrit ci-dessous.
Pour corréler un document informatisé entrant avec un lot sortant contenant ce document
Déterminez la valeur d'ActivityID pour le lot dans la table BatchingActivity.
Recherchez la valeur d'ActivityID dans le champ ContainerActivityID de la table activité BusinessMessageJournal.
Dans l'enregistrement identifié par le champ ContainerActivityID, recherchez la valeur du champ MessageTrackingID associé au lot.
Recherchez la valeur du champ MessageTrackingID associé au lot dans la table d'activité BusinessMessageJournal, dans le champ MessageTrackingID ou d'autres enregistrements de la table d'activité BusinessMessageJournal. Tous les enregistrements trouvés sont associés à des documents informatisés figurant dans le lot, tels qu'enregistrés par l'orchestration de traitement par lot.
Dans un enregistrement associé à un document informatisé dans la table d'activité BusinessMessageJournal, recherchez la valeur du champ BTSInterchangeID.
À l'aide de la valeur du champ BTSInterchangeID, vous pouvez rechercher un enregistrement pour le document informatisé créé dans la table d'activité BusinessMessageJournal, tel qu'enregistré par le composant de pipeline personnalisé. Vous pouvez également rechercher un enregistrement pour le document informatisé dans la table TransactionSetActivity.
Interrogation de la table d'activité BusinessMessageJournal
Si le rapport de document informatisé est activé et que vous connaissiez la valeur BTSInterchangeID de l'échange reçu, vous pouvez utiliser la requête SQL suivante pour rechercher la valeur BTSInterchangeID du lot contenant le document informatisé soumis à l'orchestration de traitement par lot. Ce code vous permet de créer une application personnalisée afin d'avoir une visibilité des messages d'un lot.
Important
BizTalk Server n’effectuez des entrées dans l’activité BusinessMessageJournal que si la création de rapports edi status et le suivi des ensembles de transactions sont activés pour le contrat.
Select MessageTrackingID
From BusinessMessageJournal
Where BTSInterchangeID = <given InterchangeID of the receive interchange>
Select BTSInterchangeID
From BusinessMessageJournal
Where MessageTrackingID = <MessageTrackingID from the previous query> and BTSInterchangeID = <given InterchangeID>
Voir aussi
Activités BAM créées pour suivre les messages EDI/AS2
Activation des rapports d’état EDI et AS2