Solución de problemas varios
La validación de ceros iniciales no se realiza para los campos que usan el método CheckLeadingZeroesInElement para validar un campo en la directiva de validación de mensajes.
Síntoma
No se devuelve ningún error de validación bre si se envía un mensaje con ceros iniciales en un campo, aunque no se permiten ceros iniciales para el campo y la directiva de validación incluye una regla para el campo que realiza esta validación.
Causa posible
El método CheckLeadingZeroInElement se incluye en una regla de negocios de la directiva de validación para el tipo de mensaje. Este método es desusado. El propósito de la llamada de función es provocar un error en la validación si hay un cero inicial en el elemento proporcionado en la llamada de función. Sin embargo, este método no hace que se produzca un error en la validación, incluso si hay un cero inicial en el campo.
Solución
Si desea comprobar los ceros iniciales, debe implementar el método CheckLeadingZero en lugar del método CheckLeadingZeroInElement . CheckLeadingZero produce un error de validación si hay un cero inicial en la entrada de cadena a la función.
Para implementar el método CheckLeadingZero , debe crear un método personalizado que invoque el método CheckLeadingZero desde la función personalizada y le proporcione como una cadena el valor que se va a validar para ceros iniciales. Esto se debe a que CheckLeadingZero no registra un error, sino que simplemente devuelve un valor Boolean False si la cadena de entrada no es un campo número SWIFT válido o si la entrada de cadena tiene un cero inicial. De lo contrario, devuelve True. Después, el método personalizado puede registrar errores en consecuencia.
La directiva de validación de mensajes devuelve un error si el campo Número swift tiene un cero inicial.
Síntoma
Se devuelve un error de validación bre si se envía un mensaje con ceros iniciales en un campo aunque se permitan ceros iniciales para el campo.
Causa posible
Esto puede ocurrir si se usa uno de los métodos siguientes para validar un campo Número SWIFT en la regla en cuestión, normalmente en la parte Acción de la regla. Esto puede ocurrir en un campo Cantidad, Tasa, Precio o Cantidad.
CheckCurrencyAmount
CheckValidAmount
CheckValidCurrencyAndPriceCode
CheckValidSignCurrencyAmount
CheckValidSignDateCurrencyAmount
CheckValidSignRate
IsValidTransactionDetailsCurrencyAmount
Solución
Si alguno de los métodos de la lista anterior, excepto CheckValidSignRate, se usa en la regla de la directiva de validación, habilite ceros iniciales como se describe en Compatibilidad con ceros iniciales en Validaciones de campos de cantidad.
Si el método CheckValidSignRate se usa en la regla que devolvió este error, la única manera de admitir ceros iniciales es quitar esta regla de la directiva de validación. Siga los pasos que se indican a continuación para realizar esto:
En Business Rule Composer, haga clic con el botón derecho en el nodo Versión de la directiva implementada que contiene una regla mediante el método CheckValidSignRate . Haga clic en Anular la implementación.
Haga clic con el botón derecho en el nodo Versión de la misma directiva y, a continuación, haga clic en Copiar.
Haga clic con el botón derecho en el nodo Validation_Policy de la misma directiva y, a continuación, haga clic en Pegar.
Expanda la nueva versión no guardada de la directiva. Haga clic con el botón derecho en la regla que tiene la llamada al método CheckValidSignRate y, a continuación, haga clic en Eliminar.
Haga clic con el botón derecho en el nuevo nodo Versión no guardada de la directiva y, a continuación, haga clic en Guardar. Haga clic con el botón derecho en el mismo nodo y, a continuación, haga clic en Publicar. Haga clic con el botón derecho en el mismo nodo y, a continuación, haga clic en Implementar.
A4SWIFT base de datos requiere archivado
Síntoma
La base de datos A4SWIFT está creciendo demasiado grande.
Causa posible
La tabla Historial de la base de datos A4SWIFT no se archiva automáticamente. En esta tabla se almacenan datos sobre la reparación de mensajes y el nuevo envío, incluidos los que realizaron qué tareas y datos sobre los procesos de orquestación. Esta tabla seguirá creciendo a medida que realice operaciones de reparación de mensajes y nuevo envío.
Solución
Para limitar el crecimiento de la base de datos de A4SWIFT, archive periódicamente los datos de la tabla Historial mediante los procedimientos de archivado estándar.