Aller au contenu

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ètreTypePar défautSignification
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