Las firmas necesarias para cada transacción, dependiendo del tipo y contenido de la transacción, se calculan cuando la transacción se almacena antes de almacenarse en el registro de transacción. Se puede almacenar un conjunto de hasta diez firmas necesarias para cada transacción.
Si es necesario y está configurado, la firma del usuario se puede añadir automáticamente a la transacción creada una vez completada la transacción.
En la transacción «Control & Release» (Control y liberación), se comprueba la autorización de firma del usuario actual para la transacción actual y, si es suficiente, una de las firmas requeridas se marca como «firmada» cuando el usuario libera esta transacción.
Se genera un evento en la tabla de eventos para cada transacción agregada para cada firma dada. Dentro de la transacción se almacena una referencia al evento y al usuario de cada firma.
Cuando se han dado todas las firmas requeridas para una transacción, la transacción se marca como liberada. En este caso, la marca de estado de la transacción se establece en Liberada y la entrada Flujo de trabajo para el servicio «Liberación» se establece en «Hecho».
Si se rechaza una transacción, se marcará con una «R» (para Rechazado). La entrada del flujo de trabajo para el servicio 'Release' está establecida en 'E' por error. La transacción se marca con una «N» en el campo de estado y se guarda en la «cola de artículos eliminados».
Si una transacción se devuelve para su corrección, se marcará en la transacción como «C» (para «corregir» [to correct]). La entrada de flujo de trabajo para la versión de servicio está establecida en 'E' para el error. La transacción se marca con una «N» en el campo de estado y se almacena en la cola de artículos pendientes.
El método de liberación múltiple es posible para contratos comerciales en los que podríamos establecer varios umbrales de importe para varias aprobaciones/firmas. La definición del ajuste de firma múltiple se realiza desde Mantenimiento de la configuración de múltiples firmas. Esta definición se vincula entonces a las transacciones comerciales requeridas en Mantenedor Perfil de Grupo Entidad.
El grupo de liberación es un código asignado a todos los usuarios del perfil de usuario. Este valor describe la clase de autorización a la que pertenece un usuario (por ejemplo, empleado u oficial). La tabla de claves para estos códigos es RELGRP.
El importe de liberación para un usuario es el importe máximo hasta el cual la firma de este usuario es válida. Este valor, junto con el grupo de liberación de usuarios, se utiliza durante el control y la liberación para determinar la firma válida de los usuarios para una transacción específica.
Una firma es un código de una letra que describe el tipo y la cualificación de una firma aplicada a una transacción.
El código 'R' está reservado para el rechazo de una transacción.
El código «C» está reservado para «Enviado a corrección».
Los códigos «A», «B», «C», «D» y «E» se suelen utilizar para firmas de diferentes calidades que se pueden solicitar para una transacción. También se pueden solicitar firmas especiales para transacciones comerciales, como «Nivel especial 1», «Nivel especial 2».
Todas las transacciones xxxATT se liberan automáticamente (relreq = “”). Todas las demás transacciones requieren una firma (relreq = 'A' ).
El uso de otros códigos distintos de «R» y «C» depende de la clasificación de las firmas utilizadas en una instalación. La tabla de códigos para estos códigos es RELSIG.
El campo «Firmas requeridas» de una transacción contiene las firmas que requiere esta transacción para poder ser validada para su posterior procesamiento. Este campo debe rellenarse con los métodos «TRNISM.SetRelRequestxxx» para el almacenamiento de una transacción.
El campo «Obtained Signatures» (Firmas obtenidas) de una transacción contiene las firmas aplicadas a esta transacción. Este campo se modifica mediante cualquier firma aplicada durante el Control y Liberación o la creación de la transacción.
La firma válida describe la firma que el usuario actual puede añadir a esta transacción (es decir, Registro TRN): la firma válida está determinada por la regla TRNISM.UsrRelFlg del grupo de liberación del usuario y el importe de liberación y el importe correspondiente de la transacción. Si estos importes no están en la misma moneda, se convierten utilizando la tasa actual y el tipo de conversión «M».
Esto identifica la posición de una firma en la secuencia de firmas requeridas o aplicadas (es decir, 1a, 2ao 10a firma)
En Control & Release, la posición de la firma se puede comprobar de forma manual o automática. Automáticamente, el sistema utiliza la regla TRNISM.GetUseIdx para buscar la firma más alta solicitada, para la que la firma permitida sería suficiente. Esto significa que se puede utilizar una firma sobrecalificada para satisfacer una solicitud.
Se libera una transacción en su conjunto si las firmas aplicadas son idénticas a las firmas requeridas. Si las firmas requeridas y aplicadas son idénticas, el estado TRN\RELFLG de la transacción se establece en 'Liberado'. Si existe una entrada de flujo de trabajo para la liberación (fila en la tabla WFE con la entrada de servicio REL), el estado de esta entrada cambia a «Hecho».
El procedimiento de liberación se controla a través del perfil de transacción. Se puede definir o cambiar a través de los campos «Release Method» (Método de liberación) y «Relevant Amount» (Importe relevante) en la transacción «Mantenedor Perfil de Grupo Entidad».