Service SQL IBM i (AS/400) · Fonction scalaire
SYSTOOLS.REPLY_INQUIRY_MESSAGES
Répondre aux messages d'interrogation
Répond automatiquement aux messages d'interrogation en attente pour un identifiant de message donné, avec ou sans suppression du message.
À quoi ça sert
Cette fonction scalaire cherche les messages d'interrogation correspondant à MESSAGE_ID (par exemple CPA7025) et leur envoie une réponse. On peut affiner la recherche avec un texte (SEARCH_MESSAGE_TEXT), choisir la réponse (RESPONSE, *DFT par défaut pour la réponse par défaut) et décider de retirer ou non le message de la file (REMOVE_MESSAGE, YES par défaut).
Elle remplace la tâche manuelle consistant à répondre un à un aux messages qui s'accumulent dans la file de messages de l'opérateur : un travail planifié peut ainsi traiter les messages connus et sans danger.
Résultat réel sur un IBM i 7.5
Pas de démonstration : la fonction répond à des messages d'interrogation en attente.
L'exemple d'IBM
Répondre « I » à tous les messages d'interrogation CPA7025, en laissant les messages dans la file.
-- Description: Respond to any inquiry messages for message identifier CPA7025.
-- Leave the messages in the message queue.
VALUES SYSTOOLS.REPLY_INQUIRY_MESSAGES(
MESSAGE_ID => 'CPA7025',
RESPONSE => 'I',
REMOVE_MESSAGE => 'NO');
Bon à savoir
Réserver cette réponse automatique à des messages dont on connaît parfaitement l'effet : une mauvaise réponse peut interrompre un traitement. Utiliser SEARCH_MESSAGE_TEXT pour cibler précisément.
Paramètres
| Paramètre | Type | Par défaut | Signification |
|---|---|---|---|
MESSAGE_ID |
VARCHAR(7) | obligatoire | Identifiant du message |
SEARCH_MESSAGE_TEXT |
VARCHAR(1024) | NULL | Texte à rechercher dans les messages |
RESPONSE |
VARCHAR(132) | '*DFT' | Réponse |
REMOVE_MESSAGE |
VARCHAR(3) | 'YES' | Supprimer le message |