Comment l’intégrateur de transactions permet aux programmes transactionnels de retourner des exceptions
TI fournit un mécanisme de métadonnées de données pour retourner des exceptions à partir d’applications serveur Automation telles que les applications TI. TI utilise ce mécanisme pour fournir au développeur mainframe un moyen facultatif de retourner les informations d’erreur mainframe (également appelées données d’exception) par le biais de l’application normale.
Un programme transactionnel (TP) retourne des informations d’erreur en tant que métadonnées facultatives qui incluent un bloc d’exception dans le message de réponse. Le bloc d’exceptions contient des informations, dans un format standard, qui peuvent être utilisées pour remplir une structure d’exception Automation.
Les messages d’erreur TI ont des numéros entre 0 et 9999. Les numéros de message d’erreur de métadonnées retournés par le mainframe peuvent se trouver dans la même plage. Pour distinguer les messages d’erreur TI des messages de métadonnées retournés à partir du mainframe, TI ajoute 10 000 au nombre de messages d’erreur de métadonnées retournés par le mainframe.
Un TP peut également utiliser ce mécanisme pour fournir des informations sur l’état tp à l’environnement d’exécution TI. Plus précisément, un TP peut indiquer si le TP :
Est prêt à valider le travail effectué jusqu’à présent (et à libérer la conversation).
Ne peut plus effectuer de travail sur la conversation actuelle et attend du client qu’il se prépare et qu’il valide.
A rencontré une erreur qui l’empêchera de valider la transaction.
Bien qu’il soit toujours possible pour un TP de libérer brusquement la conversation, les exceptions TI lui permettent de retourner des informations détaillées sur l’erreur à l’application cliente appelante.
TI utilise les informations contenues dans le bloc d’exceptions pour mettre à jour les informations d’état dans l’environnement d’exécution TI et (si demandé) retourner une exception à l’application cliente.
Le tableau suivant présente les champs de la structure d’exception EXCEPINFO.
Champ | Description |
---|---|
wCode | Code d’erreur retourné dans le bloc d’exceptions. |
bstrSource | Généré automatiquement par TI en fonction des informations relatives à l’objet du client et au TP distant. |
bstrDescription | À partir du bloc d’exceptions. Cette description d’erreur provient du TP distant. |
bstrHelpFile | Formé en prenant le chemin d’accès d’aide associé à la bibliothèque de composants de l’objet (dans le Registre) et en le combinant avec un nom de fichier non qualifié inclus en tant qu’informations personnalisées dans la bibliothèque de composants. Cela permet au développeur d’identifier le nom du fichier d’aide lors de sa création, tout en donnant à l’administrateur un contrôle ultime sur l’emplacement où le fichier d’aide est installé pendant le déploiement. |
dwHelpContext | À partir de l’exception. |
scode | Identique à wCode. |
Il est possible pour le tp de retourner des informations d’état sans déclencher réellement d’exception. Pour que le code TP mainframe reste aussi simple que possible, les données d’exception font partie des métadonnées facultatives et sont retournées dans tous les cas, qu’une erreur se produise ou non.