Pour passer le contrôle à une étiquette spécifiée. Bien que l’utilisation de l’option RESP soit recommandée pour gérer les conditions du programme, la commande CICS HANDLE CONDITION est une autre méthode de gestion de diverses conditions CICS anticipées ou inattendues.
Chaque commande CICS possède sa propre liste d’exceptions. Un exemple est l’exception MAPFAIL de la commande RECEIVE. HANDLE CONDITION est utilisé pour transférer le contrôle à la procédure appropriée sur les exceptions attendues. La condition HANDLE ne peut pas suivre le programme interrompu ABENDS comme S0C4 ou S0C7. Il ne traite que des exceptions des commandes CICS.
Les conditions traitées sont effectives à partir de leur apparition jusqu’à la fin du programme. Une condition de poignée peut être remplacée par une autre condition. Les principales conditions du programme ne seront pas effectives dans les sous-programmes.
Syntaxe:
EXEC CICS HANDLE CONDITION
ERROR(ERROR-MESSAGE)
END-EXEC
La commande HANDLE Condition est exécutée avant que la condition ne soit rencontrée, tandis que les résultats des résultats de l’option RESP sont testés après l’exécution d’une commande CICS.
HANDLE CONDITION – SCOPE
L’état de la poignée reste actif,
- Jusqu’à une condition IGNORE
- Une autre HANDLE CONDITION pour la même erreur
- Désactivé par NOHANDLE Option dans les commandes
Si vous souhaitez réinitialiser le détournement effectué par la condition HANDLE précédente, codez le nom de la condition mais ne mentionnez pas le nom du paragraphe. Un maximum de 12 conditions peuvent être codées dans une instruction HANDLE CONDITION.
Exemple:
EXEC CICS HANDLE CONDITION
MAPFAIL(PARA-1)
PGMIDERR(PARA-2)
LENGERR(PARA-3)
ERROR(PARA-X)
END-EXEC.
Description:
Si MAPFAIL alors exécuter le PARA-1, Si PGMIDERR alors exécuter le PARA-2, Si LENGERR alors exécuter le PARA-3.
Toute condition d’erreur autre que MAPFAIL, PGMIDERR et LENGERR transférera le contrôle à PARA-X.