Recette SQL IBM i (AS/400) · Messages
Les travaux terminés en erreur sur les dernières 24 heures
Les travaux terminés avec un code fin différent de 0 dans les dernières 24 heures, retrouvés par le message CPF1164 de l'historique.
Le besoin
Quels travaux ont planté depuis hier ? Chaque fin de travail laisse un message CPF1164 dans l'historique, avec son code fin : 0 si tout va bien.
La requête
SELECT MESSAGE_TIMESTAMP, FROM_JOB, MESSAGE_ID, MESSAGE_TEXT
FROM TABLE(QSYS2.HISTORY_LOG_INFO(START_TIME => CURRENT TIMESTAMP - 24 HOURS)) H
WHERE MESSAGE_ID = 'CPF1164'
AND MESSAGE_TEXT NOT LIKE '% 0 .%' AND MESSAGE_TEXT NOT LIKE '%code fin 0 %' AND MESSAGE_TEXT NOT LIKE '%end code 0 %'
ORDER BY MESSAGE_TIMESTAMP DESC
FETCH FIRST 10 ROWS ONLY
On lit les CPF1164 des dernières 24 heures et on écarte ceux dont le texte annonce un code fin 0. Le texte est dans la langue du système, d'où les variantes française et anglaise du filtre.
Le résultat sur un IBM i 7.5
Ce que l'IBM i a renvoyé le 01/10/2026 (5 lignes au plus) :
| MESSAGE_TIMESTAMP Horodatage du message | FROM_JOB Travail d'origine | MESSAGE_ID Identifiant du message | MESSAGE_TEXT Texte du message |
|---|---|---|---|
| 2026-10-01 14:37:15.405004 | 969865/UTIL161/QPADEV006R | CPF1164 | Travail 969865/UTIL161/QPADEV006R arrêté le 01/10/26 à 14:37:15; temps UC 0,007; code fin 30 . |
| 2026-10-01 14:30:07.117515 | 970413/UTIL185/LFVENTOT | CPF1164 | Travail 970413/UTIL185/LFVENTOT arrêté le 01/10/26 à 14:30:07; temps UC 0,007; code fin 20 . |
| 2026-10-01 14:29:59.820750 | 970412/UTIL203/LFVENSTR | CPF1164 | Travail 970412/UTIL203/LFVENSTR arrêté le 01/10/26 à 14:29:59; temps UC 0,007; code fin 20 . |
| 2026-10-01 14:29:00.472155 | 970410/UTIL203/LFVENSTR | CPF1164 | Travail 970410/UTIL203/LFVENSTR arrêté le 01/10/26 à 14:29:00; temps UC 0,008; code fin 20 . |
| 2026-10-01 14:28:10.314444 | 970407/UTIL203/LFVENSTR | CPF1164 | Travail 970407/UTIL203/LFVENSTR arrêté le 01/10/26 à 14:28:10; temps UC 0,008; code fin 20 . |
Chez nous, ce sont des sessions interactives et des programmes d'exercice d'apprenants : sur un système de formation, les fins anormales sont nombreuses.
Données anonymisées : les noms de système, de profils, de bibliothèques, de postes et les adresses IP ont été remplacés.
L'adapter à votre système
Pour un critère plus robuste que le texte, utilisez SYSTOOLS.ENDED_JOB_INFO, qui décode les messages de fin de travail en colonnes.