Aller au contenu

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

QSYS2.DATA_QUEUE_ENTRIES

Messages d'une file de données

Renvoie les messages présents dans une file de données (*DTAQ), avec leur contenu, leur clé, leur horodatage de mise en file et le travail émetteur.

À quoi ça sert

La fonction de table QSYS2.DATA_QUEUE_ENTRIES permet d'examiner le contenu d'une file de données depuis SQL. Chaque ligne donne la position (ORDINAL_POSITION), le message (MESSAGE_DATA, en UTF-8 ou en binaire), la clé, l'horodatage de mise en file et, si la file l'enregistre, le travail et l'utilisateur de l'émetteur.

Paramètres : DATA_QUEUE (obligatoire), DATA_QUEUE_LIBRARY (*LIBL par défaut), SELECTION_TYPE (ALL par défaut), KEY_DATA et KEY_ORDER pour sélectionner selon la clé dans une file à clés.

C'est un outil de diagnostic : on voit ce qu'un programme a déposé et qui l'a envoyé, sans écrire de programme de lecture.

Résultat réel sur un IBM i 7.5

Ce que nous avons exécuté :

SELECT * FROM TABLE(QSYS2.DATA_QUEUE_ENTRIES('DEMODQ', 'JOBISQL')) ORDER BY ORDINAL_POSITION

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

ORDINAL_POSITION Position ordinale DATA_QUEUE_LIBRARY Bibliothèque de la file de données DATA_QUEUE Nom de la file de données MESSAGE_DATA Données du message MESSAGE_DATA_UTF8 Données du message au format UTF-8 MESSAGE_DATA_BINARY Données du message au format binaire KEY_DATA Données de la clé MESSAGE_ENQUEUE_TIMESTAMP Horodatage de mise en file du message SENDER_JOB_NAME Nom du travail émetteur SENDER_CURRENT_USER Utilisateur courant de l'émetteur
1 JOBISQL DEMODQ Commande 1001 a preparer Ö??􅀱𰱀񀗙??� C39694948195848540F1F0F0F14081409799859781998599 NULL 2026-10-01 09:05:30 NULL NULL
2 JOBISQL DEMODQ Commande 1002 a expedier Ö??􅀱𰲀񀅧??� C39694948195848540F1F0F0F240814085A7978584898599 NULL 2026-10-01 09:05:30 NULL NULL

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

Examiner tous les messages de la file de données DQ1 de la bibliothèque TESTLIB.

-- Description: Look at all the messages in data queue DQ1 in library TESTLIB. 
    CALL QSYS2.DATA_QUEUE_ENTRIES('DQ1', 'TESTLIB') 
       ORDER BY ORDINAL_POSITION;

Bon à savoir

Selon le type d'information déposée, utilisez MESSAGE_DATA_UTF8 ou MESSAGE_DATA_BINARY : un message qui n'est pas du texte lisible apparaît mieux sous forme binaire.

Paramètres

ParamètreTypePar défautSignification
DATA_QUEUE VARCHAR(10) obligatoire Nom de la file de données
DATA_QUEUE_LIBRARY VARCHAR(10) '*LIBL' Bibliothèque de la file de données
SELECTION_TYPE VARCHAR(7) 'ALL' Type de sélection
KEY_DATA VARCHAR(256) NULL Données de la clé
KEY_ORDER CHAR(2) NULL Ordre de comparaison de la clé

Colonnes renvoyées (10)

Afficher les 10 colonnes
ColonneTypeSignification
ORDINAL_POSITION INTEGER Position ordinale
DATA_QUEUE_LIBRARY VARCHAR(10) Bibliothèque de la file de données
DATA_QUEUE VARCHAR(10) Nom de la file de données
MESSAGE_DATA CHAR LARGE OBJECT Données du message
MESSAGE_DATA_UTF8 CHAR LARGE OBJECT Données du message au format UTF-8
MESSAGE_DATA_BINARY BINARY LARGE OBJECT Données du message au format binaire
KEY_DATA VARCHAR(256) Données de la clé
MESSAGE_ENQUEUE_TIMESTAMP TIMESTAMP Horodatage de mise en file du message
SENDER_JOB_NAME VARCHAR(28) Nom du travail émetteur
SENDER_CURRENT_USER VARCHAR(10) Utilisateur courant de l'émetteur