Aller au contenu

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

SYSTOOLS.SPOOLED_FILE_DATA

Lire le contenu d'un fichier spoule

Renvoie ligne par ligne le contenu d'un fichier spoule d'un travail donné, par défaut son historique QPJOBLOG.

À quoi ça sert

Cette fonction de table lit le texte d'un fichier spoule identifié par JOB_NAME (nom qualifié numéro/utilisateur/travail), SPOOLED_FILE_NAME (QPJOBLOG par défaut) et SPOOLED_FILE_NUMBER (*LAST par défaut, le plus récent). Chaque ligne a sa position (ORDINAL_POSITION) et son contenu (SPOOLED_DATA).

Elle permet de lire un historique de travail ou un état directement dans un résultat SQL, de le filtrer avec LIKE pour y chercher une erreur, ou d'automatiser l'analyse d'un listing de compilation, sans passer par CPYSPLF. Le paramètre IGNORE_ERRORS vaut YES par défaut.

Résultat réel sur un IBM i 7.5

Ce que nous avons exécuté :

SELECT * FROM TABLE(SYSTOOLS.SPOOLED_FILE_DATA(JOB_NAME => '966250/UTIL232/QPRTJOB', SPOOLED_FILE_NAME => 'QPDSPFD')) ORDER BY ORDINAL_POSITION

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

ORDINAL_POSITION Position ordinale SPOOLED_DATA Données du fichier spoule
1 5770SS1 V7R5M0 220415 Description de fichier 1/10/26 9:05:54 Page 1 …
2 Fichier . . . . . . . . . . : CLIENT …
3 Bibliothèque . . . . . . : JOBISQL …
4 Type d'information . . . . : *ATR …
5 Attributs du fichier . . . : *ALL …

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

Renvoyer le fichier spoule QSYSPRT le plus récent d'un travail précis.

-- Description: Return the most recent QSYSPRT file for a specific job. 
 SELECT * FROM TABLE(SYSTOOLS.SPOOLED_FILE_DATA( 
    JOB_NAME =>'193846/SLROMANO/QPADEV0009', 
    SPOOLED_FILE_NAME =>'QSYSPRT')) 
   ORDER BY ORDINAL_POSITION;

Bon à savoir

Pour trouver le travail et le fichier, interroger d'abord QSYS2.SPOOLED_FILE_INFO. Le droit de lire le fichier spoule est évidemment nécessaire.

Paramètres

ParamètreTypePar défautSignification
JOB_NAME VARCHAR(28) obligatoire Nom du travail
SPOOLED_FILE_NAME VARCHAR(10) 'QPJOBLOG' Nom du fichier spoule
SPOOLED_FILE_NUMBER VARCHAR(6) '*LAST' Numéro du fichier spoule
IGNORE_ERRORS VARCHAR(3) 'YES' Ignorer les erreurs

Colonnes renvoyées (2)

Afficher les 2 colonnes
ColonneTypeSignification
ORDINAL_POSITION INTEGER Position ordinale
SPOOLED_DATA VARCHAR(378) Données du fichier spoule