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ètre | Type | Par défaut | Signification |
|---|---|---|---|
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
| Colonne | Type | Signification |
|---|---|---|
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 |