Classe d'exit utilisateur de table d'interface

Lorsque vous utilisez des tables d'interface pour recevoir des messages d'un système externe, vous pouvez personnaliser le programme d'interrogation qui récupère les données de la table d'interface et envoie les données au système.

Le gestionnaire de tâches périodiques exécute le programme d'interrogation de la table d'interface. La tâche périodique IFACETABLECONSUMER comporte une propriété facultative EXITCLASS dans laquelle vous pouvez spécifier le nom qualifié complet d'une classe d'exit Java™ .

La liste des structures de données Java représente l'enregistrement des tables d'interface, où le premier élément est toujours l'action du message. Les éléments restants de la liste sont les structures de données mappées et chaque mappe représente une ligne de la table d'interface pour chaque message. Les clés de la mappe sont les noms de colonne et les valeurs sont les valeurs de colonne correspondantes. Toutes les valeurs de colonne sont converties dans leur format de chaîne traduite avant d'être définies dans la mappe.

La classe EXITCLASS doit implémenter l'interface psdi.iface.intertables.IfaceTbExit et les méthodes suivantes :

  • public void beforeQueue(long transid, String extSys, String ifaceName, List data, Connection conn)

    Cette méthode est appelée une fois les données reçues de la table d'interface et avant l'insertion des données dans l'une des files d'attente entrantes.

  • public void afterCommit(long transid, String extSys, String ifaceName, Connection conn)

    Cette méthode est appelée une fois que les données ont été insérées dans une file d'attente entrante et supprimées de la table de la file d'attente d'interface suite à la validation dans la base de données.

  • public void afterRollback(long transid, String extSys, String ifaceName, Connection conn)

    Cette méthode est similaire à la méthode afterCommit mais est appelée si la transaction est annulée.

Cette classe peut exécuter les processus suivants :

  • Valider les données.
  • Modifier les données externes en modifiant l'enregistrement d'IR à sauvegarder dans le système.
  • Arrêter la sauvegarde de la transaction dans la file d'attente en envoyant une exception. Dans ce cas, la transaction demeure dans la table MXIN_INTER_TRANS avec le message d'erreur et est retraitée.
  • Interrompre l'envoi du message au système externe en envoyant une exception skip_transaction. Dans ce cas, le système ne sauvegarde pas le message ; il est supprimé de la file d'attente.
  • Journaliser la transaction.

L'exit utilisateur qui utilise la méthode afterCommit ou afterRollback peut exécuter les processus suivants :

  • Effectuer un traitement et un nettoyage personnalisé.
  • Journaliser la transaction.

Vous identifiez cette classe dans l'application Configuration des tâches périodiques.