Aller au contenu

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ètreTypePar défautSignification
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