Compartir a través de


Desensamblado de lotes de entrada

Mensaje entrante de desbatch

El desensamblador swift puede desagrupar de entrada en el que procesa o desensambla por lotes entrantes (archivos o mensajes que contienen varios mensajes SWIFT). Habilite el desagrupo de entrada mediante la propiedad de configuración del desensamblador SWIFT con el mismo nombre. Después de habilitar el desagrupamiento entrante, el desensamblador de SWIFT espera todos los mensajes que recibe para ser lotes que incluyen varios mensajes SWIFT. Un lote puede incluir o no un sobre por lotes (un encabezado de lote y un finalizador de lotes), y cada mensaje SWIFT individual dentro de un lote puede incluir o no un sobre de mensaje (un encabezado de mensaje y un finalizador de mensajes). Puede configurar estos atributos por lotes (formatos) mediante las siguientes propiedades de configuración del desensamblador swift:

  • Esquema de encabezado por lotes

  • Esquema de tráileres por lotes

  • Esquema de encabezado de mensaje

  • Esquema del finalizador de mensajes

    Nota

    Si se establece cualquiera de estas propiedades en "None" se indica que el lote entrante no incluye esa parte concreta.

    El desensamblador swift espera que todos los lotes entrantes tengan la siguiente estructura:

    Encabezado de lote

    Encabezado de mensaje

    Intercambio y mensaje de SWIFT (BLOQUES SWIFT de 1 a 5)

    Finalizador de mensajes

    Finalizador por lotes

    Dentro de esta estructura, puede considerar que un "bloque de mensajes" es el encabezado de mensaje – intercambio SWIFT – partes del finalizador de mensajes. Una serie de varios "bloques de mensajes" compone los múltiples mensajes SWIFT en un lote. El encabezado de lote, el encabezado de mensaje, el finalizador de mensajes y el finalizador de lotes son opcionales, pero deben ser coherentes entre repeticiones.

Nota

No confunda el sobre del mensaje (encabezado de mensaje y finalizador de mensajes) con los bloques de encabezado y finalizador SWIFT. En el contexto de los lotes, debe ver el mensaje SWIFT (intercambio), incluidos los bloques de encabezado y finalizador SWIFT, como una unidad holística (atómica). En este contexto, el encabezado del mensaje y el finalizador de mensajes hacen referencia al sobre que encapsula cada mensaje SWIFT en un lote.

Para expresar esta estructura, sus opciones y su repetibilidad más formalmente, tenga en cuenta cómo A4SWIFT define un lote:

  • El encabezado batch está representado por BH

  • El encabezado de mensaje está representado por MH

  • El intercambio SWIFT está representado por SI

  • El finalizador de mensajes está representado por MT

  • Batch Trailer está representado por BT.

    La expresión que representa la estructura por lotes esperada es la siguiente:

    [BH] ([MH] SI [MT])* [BT]

    Los corchetes ( [ ] ) indican que la parte es opcional. El asterisco (*) indica que el bloque es repetible. Quien compile el lote de mensajes debe usar el encabezado del mensaje (MH) y el finalizador (MT) de forma coherente en cada repetición de ([MH] SI [MT]).

    El desensamblador swift puede procesar cualquier lote de entrada que obedezca a la estructura anterior, ya que cada parte de la estructura se ajusta a un esquema de archivo plano. Sin embargo, si no usa el encabezado o finalizador de mensaje o encabezado de mensaje opcional, el mensaje no se ajustará a esos esquemas. Como resultado, un lote que contiene solo mensajes SWIFT consecutivos tendrá las propiedades Esquema de encabezado de lote, Esquema del finalizador de lotes, Esquema de encabezado de mensaje y Esquema del finalizador de mensajes establecido en "None".

Personalización de esquemas para el procesamiento por lotes

Puede personalizar los esquemas para el encabezado por lotes, el finalizador y el encabezado o finalizador del mensaje. Un ejemplo es el siguiente lote:

4  
SWIFT Message # 1  
$  
SWIFT Message # 2  
$  
SWIFT Message # 3  
$  
SWIFT Message # 4  
$  

Para controlar este tipo de lote, establecería las propiedades de esquema para el lote de la siguiente manera:

  • La propiedad Batch Header Schema se establece en un esquema de archivo plano que analiza un único número (recuento de mensajes) delimitado por retorno de carro.

  • El esquema del finalizador de mensajes se establece en un esquema de archivo plano que analiza un único símbolo $ y retorno de carro.

  • Establezca los esquemas de sobre restantes (Esquema de tráileres por lotes y Esquema de encabezado de mensaje) en Ninguno.

    Puede configurar el desensamblador de SWIFT para que procese casi cualquier lote de mensajes SWIFT mediante la creación y especificación de la combinación adecuada de esquemas de sobre de archivo plano. Esta funcionalidad es muy flexible.

    El desensamblador de SWIFT siempre intenta completar el procesamiento de un lote completo, incluso cuando encuentra errores a lo largo del camino. Esto le permite recopilar y notificar tantos errores como sea posible a la vez. Para realizar esta heurística de "mejor esfuerzo", el desensamblador de SWIFT debe tomar ciertas decisiones y suposiciones al seleccionar el esquema que se va a usar al encontrar una nueva parte, o si se produce un error de análisis. La selección del esquema correcto no siempre es posible en función de la naturaleza y la ubicación de un error de análisis y la ambigüedad o similitud entre los esquemas de sobre y los esquemas de intercambio SWIFT. En algunos casos, puede minimizar la posibilidad de seleccionar el esquema incorrecto mediante esquemas de sobre bien diseñados. Si el desensamblador encuentra un error grave de análisis o el desensamblador no puede determinar el esquema correcto, el desensamblador producirá un error en el lote sin procesar los datos restantes.

    Cuando el desagrupo de entrada está habilitado (establecido en True), el desensamblador swift analiza el lote mediante los esquemas especificados para el sobre por lotes (esquema de encabezado de lote y esquema de finalizador de lotes) y sobre de mensaje (esquema de encabezado de mensaje y esquema de finalizador de mensajes), así como el esquema especificado para analizar los mensajes SWIFT (intercambios) en el lote. Para los mensajes SWIFT del lote, el tipo de mensaje y el esquema se pueden detectar y cargar dinámicamente de la misma manera que los mensajes no por lotes únicos (especificando un esquema de encabezado SWIFT). Para obtener más información sobre cómo el desensamblador de SWIFT realiza la resolución de esquemas, vea Dynamic Message Type Discovery and Schema Resolution.

    El desensamblador swift analiza y valida cada mensaje SWIFT en un lote entrante individualmente. Realiza la siguiente secuencia de procesamiento por lotes:

  1. Analiza el encabezado de lote si ha especificado el esquema de encabezado de lote.

  2. Analiza el encabezado de sobre del mensaje si ha especificado el esquema de encabezado de mensaje.

  3. Analiza el intercambio SWIFT (mensaje).

  4. Valida el mensaje SWIFT con restricciones XML si ha habilitado la validación XML.

  5. Valida el mensaje SWIFT con las directivas BRE (reglas de uso y red SWIFT) si ha habilitado la validación de BRE.

  6. Analiza el finalizador del sobre del mensaje si se especifica el esquema del finalizador de mensajes.

  7. Repite los pasos 2 a 6 hasta que el desensamblador no encuentre más mensajes en el lote.

  8. Analiza el finalizador por lotes si ha especificado el esquema del finalizador de lotes.

    Puede configurar el desensamblador de SWIFT para hacer diferentes cosas con los datos por lotes que analiza y valida mediante las siguientes propiedades de configuración del desensamblador SWIFT:

  • La propiedad Fragment determina si el desensamblador swift debe publicar cada mensaje del lote en la base de datos messageBox individualmente (es decir, para cada mensaje, después de cada repetición del paso 6 anterior), o si debe completar todos los pasos 1 a 8 y, a continuación, publicar todo el lote, en forma nativa (copia exacta de entrada), como un único mensaje a la base de datos cuadro de mensajes. Establezca Fragmentación en True para habilitar la fragmentación y publicar mensajes de un lote individualmente. Establezca Fragmentación en False para deshabilitar la fragmentación y publicar todo el lote, en forma nativa, como un único mensaje solo después de procesar todo el lote. Normalmente, establezca Fragmentación en Deshabilitadopara escenarios en los que solo necesita el Acelerador de BizTalk para SWIFT (A4SWIFT) para analizar y validar los lotes entrantes y con errores o reenviados, en el mismo formato que A4SWIFT recibidos. Normalmente, establezca Fragmentación en Habilitado para escenarios en los que desea que A4SWIFT transformar o modificar mensajes dentro de un lote después de analizar y validar, o cuando desee que A4SWIFT vuelva a ordenar los mensajes de un lote en un orden diferente de lo que A4SWIFT recibidos originalmente. También establece Fragmentación en Habilitado para escenarios en los que un lote entrante contiene mensajes que tienen distintos destinos finales.

  • La propiedad Preserve Batch Header / Preserve Batch Trailer determina si el desensamblador de SWIFT debe descartar o conservar los datos del sobre por lotes (encabezado y finalizador) después de analizarlos. Si establece Conservar encabezado por lotes o Conservar el finalizador de lotes en True, el desensamblador publica la parte por lotes correspondiente (XML analizado) en la base de datos del cuadro de mensajes como mensajes individuales. El desensamblador publica los datos en la parte del cuerpo del mensaje de varias partes. El desensamblado promueve propiedades de contexto especiales para que BizTalk Server puedan correlacionar estos mensajes con el lote del que proceden y la posición ordinal en la que se encontraban dentro del lote (primera posición para el encabezado del lote, última posición para el finalizador del lote). Si establece Conservar encabezado de lote o Conservar finalizador de lotes en False, el desensamblador descarta la parte de lote correspondiente (datos analizados) después del análisis.

    Nota

    Estas propiedades de configuración solo son válidas cuando la fragmentación está habilitada (fragmentación establecida en True). Cuando la fragmentación está deshabilitada, el desensamblado publica una copia exacta de todo el lote, en forma nativa, en la base de datos messageBox, por lo que la configuración de conservación es irrelevante (todo se conserva).

  • La propiedad Preserve Message Header / Preserve Message Trailer determina si el desensamblador swift debe descartar o conservar los sobres del mensaje (encabezados de mensaje y finalizadores) después de analizarlos. Si establece Conservar encabezado de mensaje o Conservar finalizador de mensajes en True, el desensamblador publica la parte por lotes correspondiente (XML analizado) en la base de datos del cuadro de mensajes junto con el mensaje SWIFT individual que encapsula. El desensamblador publica encabezados de sobre de mensaje en la parte de encabezado del mensaje de varias partes. El desensamblador publica tráileres de sobre de mensajes en la parte del tráiler del mensaje de varias partes. El desensamblador publica el mensaje SWIFT incluido en el sobre del mensaje en la parte del cuerpo del mismo mensaje de varias partes. El desensamblado promueve propiedades de contexto especiales para que BizTalk Server puedan correlacionar estos mensajes con el lote del que proceden y la posición ordinal de la que estaban dentro del lote. Si establece Conservar encabezado de mensaje o Conservar finalizador de mensajes en False, el desensamblador descarta la parte por lotes correspondiente (datos analizados) después del análisis.

    Nota

    Estas propiedades de configuración solo son válidas cuando la fragmentación está habilitada (fragmentación establecida en True). Cuando la fragmentación está deshabilitada, el desensamblado publica una copia exacta de todo el lote, en forma nativa, en la base de datos messageBox, por lo que la configuración de conservación es irrelevante (todo se conserva).

    Para obtener más información sobre cada propiedad de configuración, así como otra información de uso y configuración, vea Propiedades de configuración del desensamblador de SWIFT. Para obtener más información sobre la publicación de bases de datos de Cuadro de mensajes y mensajes de varias partes, consulte BizTalk Server Ayuda.

Paso siguiente

Propiedades promocionadas relacionadas con los lotes