Implementar un mecanismo de lanzamiento de lotes externo
Puede desencadenar el lanzamiento de un lote mediante un desencadenador de versión externo. El lanzamiento se puede desencadenar de forma automática mediante una aplicación servidor, para línea empresarial al alcanzar un determinado umbral. Además, este mecanismo desencadena de forma automática el lanzamiento del lote mediante una programación o un recuento de conjuntos de transacciones o caracteres, o desencadena de forma manual el lote al hacer clic en el botón Invalidar de la página Configuración de lote de la pestaña del acuerdo unidireccional.
Para implementar un desencadenador de versión externo, es necesario configurar un puerto y una ubicación de recepción para procesar OverrideControlMessage. La ubicación de recepción debe usar la canalización de Edi.BatchControlMessageRecvPipeline
recepción. Esta es la misma canalización que usa la ubicación de recepción BatchControlMessageRecvLoc que BizTalk Server usa para procesar mensajes de invalidación manual. No obstante, BatchControlMessageRecvLoc es una ubicación de recepción de tipo SQL, mientras que la ubicación de recepción que ha configurado para un desencadenador de versiones externo puede utilizar cualquier tipo de adaptador.
El mensaje de control XML desencadena un lanzamiento de lote externo. Para desencadenar el lote, la aplicación servidor enruta el mensaje de control a la ubicación de recepción. Puede modificar el mensaje de control para activar, invalidar o finalizar el lote. Vea el procedimiento que se describe a continuación para crear el mensaje de control.
Para habilitar el desencadenador de versión externo, debe seleccionar la propiedad Desencadenador de versión externo de la página Configuración de lote del cuadro de diálogo Propiedades de acuerdo para X12 o EDIFACT. Esta propiedad indica que para la liberación de lotes es necesario un mensaje de liberación externo. El botón Invalidar , el botón Detener y los controles Intervalo de activación permanecen válidos si se ha seleccionado la propiedad Desencadenador de versión externa .
Requisitos previos
Debe haber iniciado sesión como miembro del grupo Administradores de BizTalk Server o BizTalk Server operadores B2B.
Para crear una ubicación de recepción para el mensaje de desencadenador de versión de lote externo
En BizTalk Server Consola de administración, cree un puerto de recepción unidireccional. Para obtener instrucciones sobre cómo crear un puerto de recepción, consulte Cómo crear un puerto de recepción.
Cree una ubicación unidireccional en el puerto de recepción.
Seleccione el tipo de transporte. Puede seleccionar cualquier tipo para esta ubicación de recepción. Una solución habitual es seleccionar el tipo de archivo y especificar una carpeta para recibir el archivo.
En Canalización de recepción, seleccione
BatchControlMessageRecvPipeline
.Haga clic en OK.
Para crear el mensaje de desencadenador de versión de lote externo
En el Bloc de notas, cree un nuevo archivo y denomínelo con una extensión .xml.
Agregue lo siguiente al archivo:
<?xml version="1.0" encoding="utf-8"?> <ControlMessage xmlns="http://SQLControlMessage.IssueSelect"> <PAM_Control xmlns="http://SQLControlMessage.IssueSelect"> <DestinationParty>[Party ID]</DestinationParty> <EdiMessageType>[0 for X12\HIPAA|1 for Edifact]</EdiMessageType> <ActionType>EdiBatchOverride</ActionType> <ActionDateTime>[yyyy-mm-ddThh:mm:ss.sss]</ActionDateTime> <UsedOnce>0</UsedOnce> <BatchId>[Batch ID]</BatchId> <BatchName>[Batch Name]</BatchName> <DestinationPartyName>[Destination Party/Partner name]</DestinationPartyName> <SenderPartyName>[Sender Party/Partner name]</SenderPartyName> <AgreementName>[Agreement Name]</AgreementName> <ReceiverPartyNameType>[Receiver Party/Partner name]</ReceiverPartyNameType> <ToBeBatched>1</ToBeBatched> </PAM_Control> </ControlMessage>
Reemplace los valores del fragmento anterior, tal como se indica a continuación:
Especifique el tipo de acción. Normalmente, ActionType debe establecerse en EdiBatchOverride para invalidar la configuración del lote realizada en el contrato. También puede establecer esto en EdiBatchTerminate para finalizar el lote a través de un desencadenador externo.
Nota
Microsoft recomienda no usar el desencadenador de versión externo para activar un lote. Por lo tanto, no debe especificar ActionType como EdiBatchActivate.
Determine el identificador del lote y el nombre del lote. Para ello, abra el cuadro de diálogo Propiedades de acuerdo y, en la pestaña del acuerdo unidireccional, haga clic en Configuración del lote. Haga clic en la pestaña del lote que se va a invalidar y escriba el valor de los campos Nombre de lote y Identificador de lote en los nodos BatchName y BatchID del mensaje de control.
Especifique el nombre de la entidad de destino. En la consola de administración de BizTalk Server, haga clic en el nodo Partes y, en la página Partes y perfiles de negocio, obtenga el nombre del asociado o parte que recibirá los intercambios por lotes. Escriba el nombre en el nodo ReceiverPartyNameType del mensaje de control.
Especifique el nombre de la entidad remitente. En la consola de administración de BizTalk Server, haga clic en el nodo Partes y, en la página Partes y perfiles de negocio, obtenga el nombre de la entidad o asociado que enviará los intercambios por lotes. Escriba el nombre en el nodo SenderPartyName del mensaje de control.
Especifique el nombre del acuerdo. En la consola de administración de BizTalk Server, haga clic en el nodo Partes y, en la página Partes y perfiles de negocio, en la sección Contratos, haga clic con el botón derecho en el contrato que tiene la configuración por lotes que debe invalidarse con el mensaje de control y, a continuación, haga clic en Propiedades. En el cuadro de diálogo Propiedades del contrato , en la pestaña General , en la página Propiedades generales , copie el valor del campo Nombre de la sección Parámetros del contrato y péguelo en el nodo AgreementName del mensaje de control.
Nota
No es necesario que especifique un identificador de entidad de destino. El elemento solo es necesario en el mensaje de control para la compatibilidad con versiones anteriores.
Guarde el archivo.
Para habilitar el desencadenador de versión externo
En la consola de administración de BizTalk Server, haga clic en el nodo Partes y, en la página Partes y perfiles de negocio, en la sección Contratos, haga clic con el botón derecho en el contrato que tiene la configuración por lotes que debe invalidarse con el mensaje de control y, a continuación, haga clic en Propiedades. En la pestaña del acuerdo unidireccional del cuadro de diálogo Propiedades del acuerdo de, haga clic en Configuración del lote.
En la página Configuración del lote, haga clic en la pestaña del lote para el cual desea tener un desencadenador de versión externo y, en la sección Liberar, seleccione Desencadenador de versión externo.
Haga clic en OK.
Consulte también
Configuración de lotes de EDI
Cómo crear una ubicación de recepción