Service SQL IBM i (AS/400) · Procédure
SYSTOOLS.DELETE_OLD_SPOOLED_FILES
Supprimer les anciens fichiers spoule
Supprime les fichiers spoule plus anciens qu'une date, par file d'attente de sortie ou par utilisateur, avec un mode aperçu.
À quoi ça sert
Cette procédure supprime les fichiers spoule créés avant DELETE_OLDER_THAN (trois mois avant l'instant courant par défaut). On restreint la portée avec P_OUTPUT_QUEUE_LIBRARY_NAME, P_OUTPUT_QUEUE_NAME et P_USER_NAME ; par défaut, toutes les files et tous les utilisateurs sont concernés.
Le paramètre PREVIEW vaut NO par défaut : sans précision, la suppression est réelle. Pour voir ce qui serait supprimé, passer PREVIEW => 'YES'.
Elle remplace les nettoyages manuels de WRKSPLF ou de CLROUTQ et se planifie facilement pour éviter que les files de sortie ne grossissent indéfiniment.
Résultat réel sur un IBM i 7.5
Ce que nous avons exécuté :
CALL SYSTOOLS.DELETE_OLD_SPOOLED_FILES(DELETE_OLDER_THAN => CURRENT TIMESTAMP + 1 DAY, P_OUTPUT_QUEUE_LIBRARY_NAME => 'JOBISQL', P_OUTPUT_QUEUE_NAME => 'DEMOOUTQ', PREVIEW => 'YES')
Ce que l'IBM i a renvoyé le 01/10/2026 (2 lignes au plus) :
| SPOOLED_FILE_NAME | JOB_NAME | FILE_NUMBER | USER_NAME | SIZE | OUTPUT_QUEUE_NAME | OUTPUT_QUEUE_LIBRARY_NAME | CREATE_TIMESTAMP | USER_DATA | STATUS | TOTAL_PAGES | COPIES | FORM_TYPE | DEVICE_TYPE | OUTPUT_PRIORITY | SYSTEM |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| QPRTOBJD | 966250/UTIL232/QPRTJOB | 3176 | UTIL232 | 28 | DEMOOUTQ | JOBISQL | 2026-10-01 09:05:31.636976 | UTIL912 | READY | 1 | 1 | *STD | *SCS | 5 | MONIBMI |
| QPDSPFD | 966250/UTIL232/QPRTJOB | 3177 | UTIL232 | 28 | DEMOOUTQ | JOBISQL | 2026-10-01 09:05:54.779510 | UTIL912 | READY | 2 | 1 | *STD | *SCS | 5 | MONIBMI |
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
Supprimer tous les fichiers spoule de la file d'attente de sortie PRT01 qui ont plus de 30 jours.
-- Description: Delete all the spooled files in PRT01 that are older than 30 days.
CALL SYSTOOLS.DELETE_OLD_SPOOLED_FILES(DELETE_OLDER_THAN => CURRENT DATE - 30 DAYS,
P_OUTPUT_QUEUE_NAME => 'PRT01',
PREVIEW => 'NO');
Bon à savoir
Contrairement à la procédure sur les récepteurs de journal, l'aperçu n'est pas actif par défaut : lancer d'abord avec PREVIEW => 'YES' pour valider le périmètre.
Paramètres
| Paramètre | Type | Par défaut | Signification |
|---|---|---|---|
DELETE_OLDER_THAN |
TIMESTAMP | ( CURRENT_TIMESTAMP - 3 MONTHS ) | Supprimer les éléments plus anciens que la date indiquée |
P_OUTPUT_QUEUE_LIBRARY_NAME |
VARCHAR(10) | '*ALL' | Bibliothèque de la file d'attente de sortie |
P_OUTPUT_QUEUE_NAME |
VARCHAR(10) | '*ALL' | Nom de la file d'attente de sortie |
P_USER_NAME |
VARCHAR(10) | '*ALL' | Nom du profil utilisateur |
PREVIEW |
VARCHAR(3) | 'NO' | Aperçu sans exécution |