Compartir a través de


Correlacionar un conjunto de transacciones entrante con un lote saliente

BizTalk Server permite correlacionar un conjunto de transacciones EDI enviado a la orquestación por lotes con un lote saliente. Esto se consigue mediante la correlación de una entrada del informe de estado para el conjunto de transacciones que se envía a la orquestación de procesamiento por lotes (BTSInterchangeID) a una entrada del informe de estado para la orquestación (ActivityID). Esta correlación se realiza mediante el uso de entradas en la actividad de BAM BusinessMessageJournal. La orquestación de procesamiento por lotes crea estas entradas cuando se recibe un elemento por lotes.

Importante

BizTalk Server realizará entradas en la actividad BusinessMessageJournal solo si los informes de estado edi y el seguimiento del conjunto de transacciones están habilitados para el contrato.

En las próximas secciones se describe lo siguiente:

  • Cómo BizTalk Server guarda los datos de seguimiento

  • Cómo puede crear un componente de canalización personalizado para habilitar la correlación.

  • Cómo puede correlacionar un conjunto de transacciones entrante con un lote saliente.

  • Cómo puede consultar la actividad BusinessMessageJournal para determinar el BTSInterchangeID del lote si conoce el BTSInterchangeID del conjunto de transacciones del lote.

Requisitos previos

Debe haber iniciado sesión como miembro del grupo Administradores de BizTalk Server o BizTalk Server operadores B2B.

Cambios en las actividades

La orquestación de procesamiento por lotes crea entradas en las actividades BatchingActivity, TransactionSetActivity y BusinessMessageJournal de BAM. Cuando el conjunto de transacciones se mueve por BizTalk Server, BizTalk Server crea las siguientes entradas en estas tablas de actividad para el conjunto de transacciones y el lote que lo incluye:

  1. Cuando el desensamblador EDI procesa un intercambio EDI entrante, crea entradas en las tablas InterchangeStatusActivity y TransactionSetActivity.

    Nota

    Para obtener más información sobre las actividades de BAM, vea Actividades de BAM creadas para realizar un seguimiento de mensajes EDI-AS2.

  2. Cuando la orquestación de procesamiento por lotes se inicia, la orquestación crea una entrada en la actividad BatchingActivity. El subsistema BAM crea un valor para ActivityID.

  3. Una vez la orquestación de procesamiento por lotes recoge el conjunto de transacciones, crea una entrada para el conjunto de transacciones en la tabla TransactionSetActivity.

  4. La orquestación crea una entrada en la actividad BusinessMessageJournal. Ésta establece el campo MessageTrackingID de esta actividad en el valor del campo ActivityID de la entrada creada por la orquestación en la tabla TransactionSetActivity. También establece el campo BTSInterchangeID en la propiedad de contexto BTS.InterchangeID para el conjunto de transacciones, y el campo BTSMessageID en la propiedad de contexto BTS.MessageID para el conjunto de transacciones.

  5. La orquestación crea una segunda entrada en la actividad BusinessMessageJournal. Establece el campo MessageTrackingID en el campo ActivityID de la entrada creada por la orquestación en la tabla TransactionSetActivity. Establece el campo BTSInterchangeID en la propiedad de contexto BTS.InterchangeID para el lote. No establece BTSMessageID. Establece ContainerActivityID en el valor de ActivityID en BatchingActivity.

Crear un componente de canalización personalizado para habilitar la correlación

Para configurar la correlación de un conjunto de transacciones entrante con un lote saliente que contiene ese conjunto de transacciones, debe crear un componente de canalización personalizado. Este componente de canalización debe ir tras el Desensamblador EDI y antes del componente BatchMarker de la canalización EDIReceive. Este componente de canalización debe crear una entrada en la actividad BusinessMessageJournal. En esta entrada, el campo BTSInterchangeID debe estar establecido en la propiedad de contexto BTS.InterchangeID, y el campo BTSMessageID debe estar establecido en la propiedad de contexto BTS.MessageID.

Buscar InterchangeID para un conjunto de transacciones establecido en un lote

Correlacione un intercambio recibido y el lote que contiene el conjunto de transacciones del intercambio mediante el uso de entradas de la tabla BatchingActivity y de la actividad BusinessMessageJournal, según se describe a continuación.

Para correlacionar un conjunto de transacciones entrante con un lote saliente que contiene ese conjunto de transacciones

  1. Determine el valor de ActivityID del lote de la tabla BatchingActivity.

  2. Busque el valor de ActivityID en el campo ContainerActivityID de la tabla de la actividad BusinessMessageJournal.

  3. En el registro identificado por ContainerActivityID, busque el valor del campo MessageTrackingID, que está asociado con el lote.

  4. Mediante el uso del valor del campo MessageTrackingID asociado con el lote de la tabla de la actividad BusinessMessageJournal, busque algún valor en el campo MessageTrackingID de otros registros de la tabla de la actividad BusinessMessageJournal. Algunos registros encontrados están asociados con los conjuntos de transacciones del lote, puesto que están registrados por la orquestación de procesamiento por lotes.

  5. En un registro asociado con el conjunto de transacciones de la tabla de la actividad BusinessMessageJournal, busque el valor del campo BTSInterchangeID.

  6. Mediante el uso del valor de BTSInterchangeID, puede buscar un registro para el conjunto de transacciones creado en la tabla de la actividad BusinessMessageJournal, puesto que está registrado por el componente de canalización personalizado. También puede buscar un registro del conjunto de transacciones en la tabla TransactionSetActivity.

Consultar BusinessMessageJournal

Si el informe del conjunto de transacciones está habilitado, y conoce el BTSInterchangeID del intercambio recibido, puede usar la siguiente consulta SQL para obtener más información sobre el BTSInterchangeID del lote que contiene el conjunto de transacciones enviado a la orquestación de procesamiento por lotes. Con este código, podrá crear una aplicación personalizada para obtener visibilidad en los mensajes de un lote.

Importante

BizTalk Server realizará entradas en la actividad BusinessMessageJournal solo si los informes de estado edi y el seguimiento del conjunto de transacciones están habilitados para el contrato.

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>  

Consulte también

Actividades de BAM creadas para realizar el seguimiento de mensajes EDI/AS2
Habilitación de informes de estado de AS2 y EDI