Aller au contenu

Service SQL IBM i (AS/400) · Vue et Fonction table

QSYS2.MESSAGE_QUEUE_INFO

Messages d'une file de messages

Lit les messages d'une file de messages (QSYSOPR par défaut) avec filtre sur le type et la gravité : l'équivalent SQL de DSPMSG.

À quoi ça sert

Ce service existe sous deux formes, une vue et une fonction de table. Il renvoie une ligne par message : bibliothèque et nom de la file, identifiant, type, sous-type, texte, gravité, horodatage, clé du message et clé du message associé, utilisateur, travail et programme d'origine, fichier de messages, etc.

Quatre paramètres filtrent à la source : QUEUE_LIBRARY (défaut QSYS), QUEUE_NAME (défaut QSYSOPR), MESSAGE_FILTER (défaut ALL) et SEVERITY_FILTER (défaut 0). Dans l'exemple d'IBM de la fonction, MESSAGE_FILTER => 'INQUIRY' ne garde que les messages d'interrogation auxquels personne n'a encore répondu, ce qui est la façon la plus rapide de repérer un travail bloqué en attente de réponse.

L'exemple d'IBM de la vue recherche dans QSYSOPR les messages relatifs à l'expiration de licences. Le SQL permet de filtrer sur un texte, de compter les messages par gravité, d'alimenter une supervision, ou d'envoyer une alerte.

Résultat réel sur un IBM i 7.5

Ce que nous avons exécuté :

SELECT MESSAGE_ID, MESSAGE_TEXT, MESSAGE_TIMESTAMP FROM TABLE(QSYS2.MESSAGE_QUEUE_INFO(QUEUE_LIBRARY => 'JOBISQL', QUEUE_NAME => 'DEMOMSGQ'))

Ce que l'IBM i a renvoyé le 01/10/2026 (2 lignes au plus) :

MESSAGE_ID Identifiant du message MESSAGE_TEXT Texte du message MESSAGE_TIMESTAMP Horodatage du message
NULL Sauvegarde du soir terminee 2026-10-01 09:05:31.244137
NULL Chaine de facturation lancee 2026-10-01 09:05:31.328343

Données anonymisées : les noms de système, de profils, de bibliothèques, de postes et les adresses IP ont été remplacés. Les objets du schéma JOBISQL sont des objets de démonstration créés pour ce site.

L'exemple d'IBM

Passer en revue les messages d'expiration de licence dans la file du système opérateur, ou renvoyer la liste des messages d'interrogation de QSYSOPR sans réponse.

-- Description: Review system operator license expiration messages 
SELECT MESSAGE_TEXT, M.* 
   FROM QSYS2.MESSAGE_QUEUE_INFO M 
   WHERE MESSAGE_QUEUE_NAME = 'QSYSOPR' AND 
         MESSAGE_TEXT LIKE '%EXPIRE%';
-- Description: Return a list of inquiry messages in QSYSOPR that have not been replied to 
 SELECT MESSAGE_ID, MESSAGE_TEXT, MESSAGE_TIMESTAMP 
  FROM TABLE(QSYS2.MESSAGE_QUEUE_INFO(MESSAGE_FILTER => 'INQUIRY'));

Paramètres

ParamètreTypePar défautSignification
QUEUE_LIBRARY VARCHAR(10) 'QSYS' Bibliothèque de la file d'attente
QUEUE_LIBRARY VARCHAR(10) 'QSYS' Bibliothèque de la file d'attente
QUEUE_NAME VARCHAR(10) 'QSYSOPR' Nom de la file d'attente
QUEUE_NAME VARCHAR(10) 'QSYSOPR' Nom de la file d'attente
MESSAGE_FILTER VARCHAR(27) 'ALL' Filtre sur les messages
MESSAGE_FILTER VARCHAR(27) 'ALL' Filtre sur les messages
SEVERITY_FILTER INTEGER 0 Filtre sur la gravité
SEVERITY_FILTER INTEGER 0 Filtre sur la gravité

Colonnes renvoyées (17)

Afficher les 17 colonnes
ColonneTypeSignification
MESSAGE_QUEUE_LIBRARY VARCHAR(10) Bibliothèque de la file de messages
MESSAGE_QUEUE_NAME VARCHAR(10) Nom de la file de messages
MESSAGE_ID VARCHAR(7) Identifiant du message
MESSAGE_TYPE VARCHAR(13) Type de message
MESSAGE_SUBTYPE VARCHAR(22) Sous-type du message
MESSAGE_TEXT VARG Texte du message
SEVERITY SMALLINT Gravité
MESSAGE_TIMESTAMP TIMESTAMP Horodatage du message
MESSAGE_KEY BINARY(4) Clé du message
ASSOCIATED_MESSAGE_KEY BINARY(4) Clé du message associé
FROM_USER VARCHAR(10) Utilisateur d'origine
FROM_JOB VARCHAR(28) Travail d'origine
FROM_PROGRAM VARCHAR(10) Programme d'origine
MESSAGE_FILE_LIBRARY VARCHAR(10) Bibliothèque du fichier de messages
MESSAGE_FILE_NAME VARCHAR(10) Nom du fichier de messages
MESSAGE_TOKENS VARCHAR(4096) Variables de substitution du message
MESSAGE_SECOND_LEVEL_TEXT VARG Texte de second niveau du message