Service SQL IBM i (AS/400) · Procédure
SYSTOOLS.END_JOBS
Arrêter des travaux par filtre
Recherche les travaux actifs selon un nom, un utilisateur ou un sous-système et les termine : l'automatisation de ENDJOB en SQL.
À quoi ça sert
Cette procédure trouve les travaux actifs correspondant aux filtres JOB_NAME_FILTER, CURRENT_USER_LIST_FILTER et SUBSYSTEM_LIST_FILTER (liste séparée par des virgules), puis les termine un par un avec l'option END_OPTION (CONTROLLED par défaut) et un délai de fin contrôlée END_CONTROLLED_DELAY.
On peut supprimer les fichiers spoule du travail (DELETE_SPOOLED_FILES) et limiter la taille de son historique (MAXIMUM_JOBLOG_ENTRIES, 0 pour ne pas en produire). Les paramètres JOB_END_MAXIMUM, JOB_END_ITERATION_COUNT et JOB_END_ITERATION_DELAY règlent l'attente de la fin effective des travaux.
Elle est utile avant une sauvegarde ou une maintenance, pour arrêter proprement tous les travaux d'un lot ou d'un sous-système.
Résultat réel sur un IBM i 7.5
Procédure non exécutée sur notre IBM i de test : elle agit sur la configuration du système ou sur d'autres travaux.
L'exemple d'IBM
Trouver et terminer tous les travaux actifs nommés BATCHTEST, en fin contrôlée, en conservant les fichiers spoule et sans produire d'historique du travail.
-- Description: Find and end all the active jobs with a job name of BATCHTEST.
-- For every job, end using the controlled option, save any spooled files, and do
-- not generate a job log.
CALL SYSTOOLS.END_JOBS(JOB_NAME_FILTER => 'BATCHTEST',
END_OPTION => 'CONTROLLED',
DELETE_SPOOLED_FILES => 'NO',
MAXIMUM_JOBLOG_ENTRIES => 0);
Bon à savoir
Un filtre trop large, ou *ALL par défaut sur le nom, peut viser bien plus de travaux que prévu. Contrôler d'abord la liste avec QSYS2.ACTIVE_JOB_INFO et le même critère. Les droits requis sont ceux de ENDJOB (*JOBCTL).
Paramètres
| Paramètre | Type | Par défaut | Signification |
|---|---|---|---|
JOB_NAME_FILTER |
VARCHAR(10) | '*ALL' | Filtre sur le nom du travail |
CURRENT_USER_LIST_FILTER |
VARCHAR(109) | NULL | Filtre sur la liste des profils utilisateur courants |
SUBSYSTEM_LIST_FILTER |
VARCHAR(274) | NULL | Filtre sur le sous-système (liste séparée par des virgules) |
END_OPTION |
VARCHAR(10) | 'CONTROLLED' | Option de fin |
END_CONTROLLED_DELAY |
INTEGER | 30 | Délai de fin contrôlée |
DELETE_SPOOLED_FILES |
VARCHAR(3) | 'NO' | Supprimer les fichiers spoule |
MAXIMUM_JOBLOG_ENTRIES |
VARCHAR(10) | '*SAME' | Nombre maximal d'écritures de l'historique du travail |
JOB_END_MAXIMUM |
INTEGER | 970000 | Maximum pour la fin des travaux |
JOB_END_ITERATION_COUNT |
INTEGER | 100 | Nombre d'itérations de la fin des travaux |
JOB_END_ITERATION_DELAY |
INTEGER | 60 | Délai entre les itérations de la fin des travaux |