Swift MT - Encabezado y servicios

Creación de mensajes SWIFT

Los mensajes SWIFT creados en una transacción comercial se componen de dos partes.

La primera parte del mensaje (encabezado lógico) contiene las siguientes pseudoetiquetas SWIFT:

:MT: Tipo de Mensaje obligatorio
:IO: BIC del destinatario obligatorio
:II: BIC del remitente opcional
:MP: Prioridad Mensaje opcional
:EOH: Marca de “Final del encabezado obligatorio

La segunda parte del mensaje hasta el final '-' comprende el mensaje SWIFT real (cuerpo del mensaje) en formato SWIFT estándar.

El mensaje SWIFT se crea inicialmente como archivo .TXT.

Durante la transacción comercial ya se comprueba si se ha excedido la longitud máxima permitida del mensaje. Puesto que el encabezado aún no está completo en ese momento, en algunos casos es posible que el problema solo sea detectado por el servicio SWIFT SRVSWT. Para evitar que se produzca esta situación, el módulo DOCIMM contiene la variable SWTHEADIF, que indica el número de caracteres que se deben añadir como «margen de seguridad». En el producto, este valor se establece en '60', que representa el número de caracteres que normalmente resulta de la diferencia entre la longitud de la pseudoetiqueta SWIFT y la del encabezado añadido posteriormente.

Formateo y envío

El servicio SRVSWT (normalmente llamado desde la transacción MGRTSK) utiliza los archivos .TXT para crear nuevos archivos que contienen mensajes SWIFT en el formato requerido para el sistema de terminal SWIFT (dependiendo del terminal SWIFT particular utilizado, tanto la estructura del mensaje como la extensión del archivo pueden diferir ligeramente). SRVSWT sustituye el encabezado del documento hasta la etiqueta EOH incluida por un bloque de encabezado SWIFT Basic y un bloque de encabezado de aplicación, y coloca el mensaje real (el cuerpo del mensaje) dentro de un bloque de texto SWIFT ( «{4:» ). El mensaje resultante se almacena en un archivo con la extensión necesaria para el terminal SWIFT correspondiente.

Si un mensaje SWIFT supera la longitud máxima permitida para un mensaje SWIFT (establecida en la regla INIT de SRVSWT), SRVSWT divide el mensaje en una secuencia de mensajes (por ejemplo, MT700 y MT701, de acuerdo con las reglas SWIFT). Esta secuencia de mensajes se guarda en un único archivo de mensajes. Si un mensaje se ha dividido de esta manera, se generan filas SMH adicionales (una para cada mensaje). Estas filas contienen el INR del mensaje original en el campo GRPINR y el número de secuencia (primer dígito de la etiqueta 27) en el campo GRPSEQ. MSGPOS y MSGLEN reflejan la posición secuencial de los mensajes individuales dentro del archivo generado. El hecho de que el mensaje se haya dividido (es decir, que el mensaje creado durante la transacción se dividió en los mensajes que realmente se enviaron posteriormente) se indica en la fila SMH del mensaje de origen poniendo GRPINR en su propio INR y GRPSEQ en cero.

Las funciones de visualización (SMHP.FRM) utilizan esta información para permitir al usuario mostrar todas las versiones según sea necesario: el mensaje original y su formato PrettyPrint, o los mensajes individuales y su representación PrettyPrint.

Mensajes de formato libre MTx99: se ha excedido la longitud máxima del texto en la etiqueta 79

Si un mensaje supera la longitud máxima en la etiqueta 79, el DOKA genera automáticamente:

Para ello, TRNDOC contiene el campo adicional TAG79TXT999.

Misceláneo

El formato individual y el envío de mensajes a un sistema de comunicación se pueden implementar en «SRVSWT.SendMessageCus».