Aller au contenu

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

QSYS2.DISPLAY_JOURNAL

Lire les entrées d'un journal

Lit les entrées d'un journal en SQL, filtrées par période, séquence, code, type, objet, utilisateur ou travail : l'équivalent de DSPJRN, interrogeable comme une table.

À quoi ça sert

La fonction de table QSYS2.DISPLAY_JOURNAL renvoie les entrées d'un journal (JOURNAL_LIBRARY, JOURNAL_NAME) et de ses récepteurs. Elle remplace DSPJRN avec une sortie directement exploitable en SQL : ENTRY_TIMESTAMP, JOURNAL_CODE, JOURNAL_ENTRY_TYPE, objet, travail, utilisateur, programme, adresse distante, etc.

Les paramètres de sélection sont nombreux : récepteur de départ et de fin, horodatage ou numéro de séquence de début et de fin, JOURNAL_CODES, JOURNAL_ENTRY_TYPES, objet (bibliothèque, nom, type, membre), USER, JOB et PROGRAM. Les valeurs par défaut des récepteurs sont *CURRENT.

Usages typiques : audit de sécurité sur QSYS/QAUDJRN, recherche de la mise à jour d'un enregistrement, analyse d'un incident. La colonne ENTRY_DATA contient les données brutes de l'entrée.

Résultat réel sur un IBM i 7.5

Ce que nous avons exécuté :

SELECT journal_code, journal_entry_type, object, object_type, X.* 
 FROM TABLE ( 
 QSYS2.Display_Journal( 
   'QSYS', 'QAUDJRN', 
   Starting_Timestamp => CURRENT DATE - 1 DAY, 
   Journal_Codes => 'T', 
   Journal_Entry_Types => 'CP' 
 )) as x

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

JOURNAL_CODE Code journal JOURNAL_ENTRY_TYPE Type d'écriture de journal OBJECT Objet OBJECT_TYPE Type de l'objet ENTRY_TIMESTAMP Horodatage de l'entrée SEQUENCE_NUMBER Numéro de séquence COUNT_OR_RRN Nombre ou numéro relatif d'enregistrement ENTRY_DATA Données de l'entrée NULL_VALUE_INDICATORS Indicateurs de valeur null OBJECT_TYPE_INDICATOR Indicateur du type d'objet FILE_TYPE_INDICATOR Indicateur du type de fichier JOURNAL_IDENTIFIER Identifiant de journal USER_NAME Nom du profil utilisateur JOB_NAME Nom du travail JOB_USER Profil utilisateur du travail JOB_NUMBER Numéro du travail THREAD Unité d'exécution (thread) PROGRAM_NAME Nom du programme PROGRAM_LIBRARY Bibliothèque du programme PROGRAM_LIBRARY_ASP_DEVICE Unité ASP de la bibliothèque du programme PROGRAM_LIBRARY_ASP_NUMBER Numéro de l'ASP de la bibliothèque du programme COMMIT_CYCLE Cycle de validation NESTED_COMMIT_LEVEL Niveau de validation imbriquée XID Identifiant de transaction (XID) LUW Unité de travail logique REMOTE_PORT Port distant REMOTE_ADDRESS Adresse distante SYSTEM_NAME Nom du système SYSTEM_SEQUENCE_NUMBER Numéro de séquence système REFERENTIAL_CONSTRAINT Contrainte référentielle TRIGGER Déclencheur IGNORE_ON_APPLY Ignorer lors de l'application MINIMIZED_ENTRY_DATA Données de l'écriture minimisées MINIMIZED_ON_FIELD_BOUNDARY Minimisation sur limite de zone INDICATOR_FLAG Indicateur RECEIVER_NAME Nom du récepteur de journal RECEIVER_LIBRARY Bibliothèque du récepteur de journal RECEIVER_ASP_DEVICE Unité ASP du récepteur de journal RECEIVER_ASP_NUMBER Numéro d'ASP du récepteur de journal ARM_NUMBER Numéro ARM OBJECT_ASP_DEVICE Unité ASP de l'objet OBJECT_ASP_NUMBER Numéro de l'ASP de l'objet PARENT_FILE_ID Identifiant du fichier parent OBJECT_FILE_ID Identifiant de fichier de l'objet RELATIVE_DIRECTORY_FILE_ID Identifiant de fichier du répertoire relatif OBJECT_FILE_NAME Nom du fichier de l'objet PATH_NAME Chemin DLO_NAME Nom de l'objet bibliothèque de documents (DLO) FOLDER_PATH Chemin du dossier CURRENT_USER Profil utilisateur courant SYSLOG_EVENT Événement syslog SYSLOG_FACILITY Origine syslog (facility) SYSLOG_SEVERITY Gravité syslog SYSLOG_PRIORITY Priorité syslog
T CP UTIL203 QSYS *USRPRF 2026-09-30 08:38:02.321904 3201331 0 C1D7C9C5C7E4C5F0F44040D8E2E8E24040404040405CE4E2D9D7D9C640C3C8C740404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040… NULL NULL NULL QSYS QINTER QSYS 801972 18 QLESPI QSYS *SYSBAS 1 0 NULL NULL NULL NULL NULL MONIBMI 1.2680693743645E+19 0 0 0 0 0 0 QAUDRC0061 BIBAPP001 *SYSBAS 1 2 NULL NULL NULL NULL NULL NULL NULL NULL NULL QSYS NULL NULL NULL NULL
T CP UTIL203 QSYS *USRPRF 2026-09-30 08:40:28.049168 3201411 0 C1D7C9C5C7E4C5F0F44040D8E2E8E24040404040405CE4E2D9D7D9C640C3C8C740404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040… NULL NULL NULL UTIL232 QPADEV003C UTIL232 968110 2388 QCMD QSYS *SYSBAS 1 0 NULL NULL NULL 56830 192.0.2.1 MONIBMI 1.2680694340544E+19 0 0 0 0 0 0 QAUDRC0061 BIBAPP001 *SYSBAS 1 1 NULL NULL NULL NULL NULL NULL NULL NULL NULL UTIL232 NULL NULL NULL NULL
T CP UTIL119 QSYS *USRPRF 2026-09-30 14:31:50.365168 3230928 0 C1D2C5C2D7D9C4E4E2D940D8E2E8E24040404040405CE4E2D9D7D9C640C3D9E3E840D5404040404040404040404040404040404040404040404040404040404040405CE4E2D9D7D9C64040405CD5D6D5C540404040405CD5D6D5C5404040404040404040404040404040D4C1C9D54040404040405CD3C9C2D34040404040D2C5C2D7D9C4404040405CD5D6404040404040405CE4E2C5… NULL NULL NULL UTIL203 QPADEV0068 UTIL203 968494 1618 QCMD QSYS *SYSBAS 1 0 NULL NULL NULL 62071 192.0.2.1 MONIBMI 1.2680780693711E+19 0 0 0 0 0 0 QAUDRC0061 BIBAPP001 *SYSBAS 1 2 NULL NULL NULL NULL NULL NULL NULL NULL NULL UTIL203 NULL NULL NULL NULL
T CP UTIL119 QSYS *USRPRF 2026-09-30 14:39:36.777312 3231067 0 C1D2C5C2D7D9C4E4E2D940D8E2E8E24040404040405CE4E2D9D7D9C640C3C8C740404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040… NULL NULL NULL UTIL203 QPADEV0068 UTIL203 968494 1618 QCMD QSYS *SYSBAS 1 0 NULL NULL NULL 62071 192.0.2.1 MONIBMI 1.2680782604135E+19 0 0 0 0 0 0 QAUDRC0061 BIBAPP001 *SYSBAS 1 2 NULL NULL NULL NULL NULL NULL NULL NULL NULL UTIL203 NULL NULL NULL NULL
T CP UTIL120 QSYS *USRPRF 2026-09-30 14:43:44.204576 3231407 0 C1D2C5C2D8E4C1E4E2D940D8E2E8E24040404040405CE4E2D9D7D9C640C3D9E3E8E8D5404040404040404040404040404040404040404040404040404040404040405CE4E2D9D7D9C64040405CD5D6D5C540404040405CD5D6D5C5404040404040404040404040404040D4C1C9D54040404040405CD3C9C2D340404040405CC3D9E3C4C6E34040405CD5D6404040404040405CE4E2C5… NULL NULL NULL ROUSSEL QPADEV005L ROUSSEL 968469 202 QCMD QSYS *SYSBAS 1 0 NULL NULL NULL 57620 192.0.2.1 MONIBMI 1.2680783617597E+19 0 0 0 0 0 0 QAUDRC0061 BIBAPP001 *SYSBAS 1 2 NULL NULL NULL NULL NULL NULL NULL NULL NULL ROUSSEL NULL NULL 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

Récupérer les entrées de modification de profil (type CP) du journal d'audit sur le dernier jour.

-- Description: Retrieve the Change Profile entries over that last day 
 SELECT journal_code, journal_entry_type, object, object_type, X.* 
 FROM TABLE ( 
 QSYS2.Display_Journal( 
   'QSYS', 'QAUDJRN', 
   Starting_Timestamp => CURRENT DATE - 1 DAY, 
   Journal_Codes => 'T', 
   Journal_Entry_Types => 'CP' 
 )) as x;

Bon à savoir

Toujours borner la lecture avec STARTING_TIMESTAMP ou STARTING_SEQUENCE et, si possible, JOURNAL_CODES : sur un journal volumineux, une lecture sans borne parcourt tous les récepteurs. Pour décoder ENTRY_DATA du journal d'audit, utilisez les services SYSTOOLS.AUDIT_JOURNAL_xx.

Paramètres

ParamètreTypePar défautSignification
JOURNAL_LIBRARY VARCHAR(10) obligatoire Bibliothèque du journal
JOURNAL_NAME VARCHAR(10) obligatoire Nom du journal
STARTING_RECEIVER_LIBRARY VARCHAR(10) '*CURRENT' Bibliothèque du récepteur de journal de départ
STARTING_RECEIVER_NAME VARCHAR(10) '*CURRENT' Nom du récepteur de journal de départ
STARTING_TIMESTAMP TIMESTAMP NULL Horodatage de début
STARTING_SEQUENCE DECIMAL(21, 0) NULL Numéro de séquence de départ
JOURNAL_CODES VARCHAR(48) '' Codes journal à sélectionner
JOURNAL_ENTRY_TYPES VARCHAR(1200) '' Types d'écriture de journal à sélectionner
OBJECT_LIBRARY VARCHAR(10) '' Bibliothèque de l'objet
OBJECT_NAME VARCHAR(3299) '' Nom de l'objet
OBJECT_OBJTYPE VARCHAR(10) '' Type de l'objet
OBJECT_MEMBER VARCHAR(10) '' Membre de l'objet
USER VARCHAR(10) '' Profil utilisateur
JOB VARCHAR(28) '' Nom qualifié du travail
PROGRAM VARCHAR(10) '' Programme
ENDING_RECEIVER_LIBRARY VARCHAR(10) '*CURRENT' Bibliothèque du récepteur de journal de fin
ENDING_RECEIVER_NAME VARCHAR(10) '*CURRENT' Nom du récepteur de journal de fin
ENDING_TIMESTAMP TIMESTAMP NULL Horodatage de fin
ENDING_SEQUENCE DECIMAL(21, 0) NULL Numéro de séquence de fin
GENERATE_SYSLOG VARCHAR(7) NULL Générer au format syslog
EOF_DELAY INTEGER NULL Délai de fin de fichier
COMMIT_CYCLE DECIMAL(21, 0) NULL Cycle de validation
INCLUDE_INTERNAL VARCHAR(3) NULL Inclure les entrées internes

Colonnes renvoyées (54)

Afficher les 54 colonnes
ColonneTypeSignification
ENTRY_TIMESTAMP TIMESTAMP Horodatage de l'entrée
SEQUENCE_NUMBER DECIMAL(21, 0) Numéro de séquence
JOURNAL_CODE CHAR(1) Code journal
JOURNAL_ENTRY_TYPE CHAR(2) Type d'écriture de journal
COUNT_OR_RRN BIGINT Nombre ou numéro relatif d'enregistrement
ENTRY_DATA BINARY LARGE OBJECT Données de l'entrée
NULL_VALUE_INDICATORS VARCHAR(8000) Indicateurs de valeur null
OBJECT VARCHAR(30) Objet
OBJECT_TYPE VARCHAR(10) Type de l'objet
OBJECT_TYPE_INDICATOR CHAR(1) Indicateur du type d'objet
FILE_TYPE_INDICATOR CHAR(1) Indicateur du type de fichier
JOURNAL_IDENTIFIER VARCHAR(10) Identifiant de journal
USER_NAME VARCHAR(10) Nom du profil utilisateur
JOB_NAME VARCHAR(10) Nom du travail
JOB_USER VARCHAR(10) Profil utilisateur du travail
JOB_NUMBER VARCHAR(6) Numéro du travail
THREAD BIGINT Unité d'exécution (thread)
PROGRAM_NAME VARCHAR(10) Nom du programme
PROGRAM_LIBRARY VARCHAR(10) Bibliothèque du programme
PROGRAM_LIBRARY_ASP_DEVICE VARCHAR(10) Unité ASP de la bibliothèque du programme
PROGRAM_LIBRARY_ASP_NUMBER INTEGER Numéro de l'ASP de la bibliothèque du programme
COMMIT_CYCLE DECIMAL(21, 0) Cycle de validation
NESTED_COMMIT_LEVEL BIGINT Niveau de validation imbriquée
XID VARCHAR(140) Identifiant de transaction (XID)
LUW VARCHAR(39) Unité de travail logique
REMOTE_PORT INTEGER Port distant
REMOTE_ADDRESS VARCHAR(46) Adresse distante
SYSTEM_NAME VARCHAR(8) Nom du système
SYSTEM_SEQUENCE_NUMBER DECIMAL(21, 0) Numéro de séquence système
REFERENTIAL_CONSTRAINT CHAR(1) Contrainte référentielle
TRIGGER CHAR(1) Déclencheur
IGNORE_ON_APPLY CHAR(1) Ignorer lors de l'application
MINIMIZED_ENTRY_DATA CHAR(1) Données de l'écriture minimisées
MINIMIZED_ON_FIELD_BOUNDARY CHAR(1) Minimisation sur limite de zone
INDICATOR_FLAG CHAR(1) Indicateur
RECEIVER_NAME VARCHAR(10) Nom du récepteur de journal
RECEIVER_LIBRARY VARCHAR(10) Bibliothèque du récepteur de journal
RECEIVER_ASP_DEVICE VARCHAR(10) Unité ASP du récepteur de journal
RECEIVER_ASP_NUMBER INTEGER Numéro d'ASP du récepteur de journal
ARM_NUMBER INTEGER Numéro ARM
OBJECT_ASP_DEVICE VARCHAR(10) Unité ASP de l'objet
OBJECT_ASP_NUMBER INTEGER Numéro de l'ASP de l'objet
PARENT_FILE_ID BINARY(16) Identifiant du fichier parent
OBJECT_FILE_ID BINARY(16) Identifiant de fichier de l'objet
RELATIVE_DIRECTORY_FILE_ID BINARY(16) Identifiant de fichier du répertoire relatif
OBJECT_FILE_NAME GRAPHIC VARYING Nom du fichier de l'objet
PATH_NAME DOUBLE-BYTE CHAR LARGE OBJECT Chemin
DLO_NAME VARCHAR(12) Nom de l'objet bibliothèque de documents (DLO)
FOLDER_PATH VARCHAR(63) Chemin du dossier
CURRENT_USER VARCHAR(10) Profil utilisateur courant
SYSLOG_EVENT GRAPHIC VARYING Événement syslog
SYSLOG_FACILITY INTEGER Origine syslog (facility)
SYSLOG_SEVERITY INTEGER Gravité syslog
SYSLOG_PRIORITY INTEGER Priorité syslog