Lorsqu'une condition anormale se produit

Les composants CICS® suivants sont impliqués lorsqu'une condition anormale est détectée à partir d'une unité logique:
  • Le programme de contrôle de terminal z/OS® Communications Server pour la section SNA: DFHZCA, DFHZCB, DFHZCC, DFHZCP, DFHZCQ, DFHZCW, DFHZCX, DFHZCY et DFHZCZ.
  • Programme de condition anormale de noeud, DFHZNAC.
  • Le programme d'erreur de noeud par défaut fourni par CICS, DFHZNEP, ou votre propre version.

Pour les unités logiques, toutes les informations relatives à l'état de traitement du terminal sont contenues dans le TCTTE et la liste des paramètres de requête (RPL). Par conséquent, lorsqu'une erreur de terminal doit être traitée pour une unité logique, le TCTTE lui-même est placé dans la file d'attente d'erreurs système.

DFHZNAC suppose que les codes de détection du système sont disponibles à la réception d'une réponse d'exception de l'unité logique. Ainsi, une analyse est effectuée pour déterminer la raison de la réponse. Les décisions, telles que les indicateurs d'action à définir et les demandes requises, sont prises en fonction des codes de détection du système reçus. Si les informations d'analyse ne sont pas disponibles, des indicateurs d'action par défaut sont définis et DFHZEMW est planifié pour envoyer une réponse négative, si une réponse est en attente, avec un message d'erreur au terminal.

Les indicateurs d'action définis par DFHZNAC lors de la réception de codes d'analyse système entrants spécifiques sont répertoriés dans Actions par défaut du programme de condition anormale du noeud.

Avant d'exécuter les routines spécifiées, DFHZNAC se lie à DFHZNEP. Vous pouvez utiliser DFHZNEP pour effectuer un traitement d'erreur supplémentaire en plus de celui effectué par DFHZNAC ; ou pour modifier les actions par défaut précédemment définies par DFHZNAC. Vous devez coder un programme d'erreur de noeud uniquement si vous souhaitez effectuer l'une de ces opérations.

Les indicateurs d'action, définis par DFHZNAC pour aider le programme d'erreur de noeud, se trouvent dans la zone TWAOPTL de la zone de communication.

Si vous souhaitez modifier les actions de DFHZNAC suite à une situation anormale, DFHZNEP peut interroger la zone TWAOPTL et modifier les paramètres de bit. Si vous êtes d'accord avec les actions proposées par DFHZNAC, le champ TWAOPTL reste inchangé.

Dans la plupart des cas, le DFHZNEP peut modifier les mesures proposées par le DFHZNAC. La seule fois où DFHZNAC remplace la modification de la zone TWAOPTL par DFHZNEP, c'est lorsqu'une unité logique doit être déconnectée de CICS, c'est-à-dire lorsque DFHZNAC détermine que la situation anormale nécessite que CICS exécute la macro ACF/SNA CLSDST pour une unité logique. Dans un tel cas, DFHZNAC déconnecte le terminal et met fin de manière anormale à la tâche, même si DFHZNEP tente de bloquer de telles actions.

La réinitialisation de l'indicateur de fin de tâche par le programme d'erreur de noeud est également ignorée si une réponse négative a été envoyée à une unité logique ou si DFHZEMW doit écrire un message d'erreur dans l'unité logique.

Lorsque le programme d'erreur de noeud a exécuté ses fonctions, il renvoie le contrôle à DFHZNAC par une commande EXEC CICS RETURN .

Lorsque le contrôle est renvoyé par DFHZNEP, DFHZNAC effectue les actions spécifiées dans la zone TWAOPTL (sauf lors de la déconnexion des unités logiques, comme indiqué), en émettant des messages et en définissant des codes d'erreur, si nécessaire.