Partager via


Résolution de problèmes divers

La validation des zéros non significatifs n’est pas effectuée pour les champs qui utilisent la méthode CheckLeadingZeroesInElement pour valider un champ dans la stratégie de validation du message.

Symptôme

Aucune erreur de validation BRE n’est retournée si un message est envoyé avec des zéros de début dans un champ, même si les zéros de début ne sont pas autorisés pour le champ et que la stratégie de validation inclut une règle pour le champ qui effectue cette validation.

Cause possible

La méthode CheckLeadingZeroInElement est incluse dans une règle d’entreprise dans la stratégie de validation pour le type de message. Cette méthode est déconseillée. L’objectif de l’appel de fonction est d’entraîner l’échec de la validation s’il existe un zéro de début dans l’élément fourni dans l’appel de fonction. Toutefois, cette méthode n’entraîne pas l’échec de la validation, même s’il existe un zéro de début dans le champ.

Solution

Si vous souhaitez case activée zéros non significatifs, vous devez implémenter la méthode CheckLeadingZero au lieu de la méthode CheckLeadingZeroInElement. CheckLeadingZero provoque une erreur de validation s’il existe un zéro de début dans l’entrée de chaîne pour la fonction.

Pour implémenter la méthode CheckLeadingZero , vous devez créer une méthode personnalisée qui appelle la méthode CheckLeadingZero à partir de la fonction personnalisée et lui fournit sous forme de chaîne la valeur à valider pour les zéros non significatifs. Cela est dû au fait que CheckLeadingZero ne enregistre pas d’erreur, mais retourne simplement une valeur False booléenne si la chaîne d’entrée n’est pas un champ nombre SWIFT valide ou si l’entrée de chaîne a un zéro non significatif. Sinon, elle retourne True. Votre méthode personnalisée peut ensuite journaliser les erreurs en conséquence.

Une erreur est retournée par la stratégie de validation de message si le champ SWIFT Number a un zéro non significatif

Symptôme

Une erreur de validation BRE est retournée si un message est envoyé avec des zéros de début dans un champ, même si les zéros de début sont autorisés pour le champ.

Cause possible

Cela peut se produire si l’une des méthodes suivantes est utilisée pour valider un champ SWIFT Number dans la règle concernée, généralement dans la partie Action de la règle. Cela peut se produire dans un champ Amount, Rate, Price ou Quantity.

  • CheckCurrencyAmount

  • CheckValidAmount

  • CheckValidCurrencyAndPriceCode

  • CheckValidSignCurrencyAmount

  • CheckValidSignDateCurrencyAmount

  • CheckValidSignRate

  • IsValidTransactionDetailsCurrencyAmount

Solution

Si l’une des méthodes de la liste ci-dessus, à l’exception de CheckValidSignRate, est utilisée dans la règle de la stratégie de validation, activez les zéros non significatifs comme décrit dans Prise en charge des zéros de début dans les validations de champ de montant.

Si la méthode CheckValidSignRate est utilisée dans la règle qui a renvoyé cette erreur, la seule façon de prendre en charge les zéros de début consiste à supprimer cette règle de la stratégie de validation. Pour ce faire, suivez les étapes ci-dessous :

  1. Dans Compositeur de règles d’entreprise, cliquez avec le bouton droit sur le nœud Version de la stratégie déployée qui contient une règle à l’aide de la méthode CheckValidSignRate . Cliquez sur Annuler le déploiement.

  2. Cliquez avec le bouton droit sur le nœud Version pour la même stratégie, puis cliquez sur Copier.

  3. Cliquez avec le bouton droit sur le nœud Validation_Policy pour la même stratégie, puis cliquez sur Coller.

  4. Développez la nouvelle version non enregistrée de la stratégie. Cliquez avec le bouton droit sur la règle qui a l’appel de méthode CheckValidSignRate , puis cliquez sur Supprimer.

  5. Cliquez avec le bouton droit sur le nouveau nœud Version non enregistrée de la stratégie, puis cliquez sur Enregistrer. Cliquez avec le bouton droit sur le même nœud, puis cliquez sur Publier. Cliquez avec le bouton droit sur le même nœud, puis cliquez sur Déployer.

A4SWIFT base de données nécessite un archivage

Symptôme

La base de données A4SWIFT est trop volumineuse.

Cause possible

La table Historique de la base de données A4SWIFT n’est pas automatiquement archivée. Cette table stocke les données relatives à la réparation des messages et à la nouvelle soumission, y compris les personnes qui ont effectué les tâches et les données relatives aux processus d’orchestration. Cette table continuera à croître à mesure que vous effectuez des opérations de réparation de message et de nouvelle soumission.

Solution

Pour limiter la croissance de la base de données A4SWIFT, archivez régulièrement les données hors de la table Historique, à l’aide de vos procédures d’archivage standard.

Voir aussi

Dépannage : problèmes et résolutions