Service SQL IBM i (AS/400) · Procédure
SYSTOOLS.LPRINTF
Écrire un message dans l'historique du travail
Écrit un message de texte dans l'historique du travail courant, pour tracer l'avancement d'une procédure ou d'un script SQL.
À quoi ça sert
Cette procédure prend une chaîne dans PRINT_STRING et l'inscrit dans l'historique (joblog) du travail qui l'exécute. On peut y concaténer des valeurs calculées, comme la date et l'heure dans l'exemple IBM.
Elle sert à journaliser des étapes d'un traitement SQL de longue durée, d'une procédure stockée ou d'un script dans un travail batch, puis à les retrouver avec DSPJOBLOG ou le service d'historique de travail, sans écrire dans une table.
Résultat réel sur un IBM i 7.5
Ce que nous avons exécuté :
CALL SYSTOOLS.LPRINTF('Message écrit dans l''historique du travail par LPRINTF');
SELECT MESSAGE_TYPE, MESSAGE_TEXT, FROM_PROGRAM FROM TABLE(QSYS2.JOBLOG_INFO('*')) X WHERE MESSAGE_TEXT LIKE '%LPRINTF%'
Ce que l'IBM i a renvoyé le 01/10/2026 (1 ligne au plus) :
| MESSAGE_TYPE | MESSAGE_TEXT | FROM_PROGRAM |
|---|---|---|
| INFORMATIONAL | Message écrit dans l'historique du travail par LPRINTF | QP0ZCPA |
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
Écrire dans l'historique du travail un message contenant le jour de la semaine et l'heure courante.
-- Description: Write a message to the joblog.
CALL SYSTOOLS.LPRINTF('This message sent on ' CONCAT
DAYOFWEEK(CURRENT DATE) CONCAT ' at ' CONCAT CURRENT TIME);
Bon à savoir
Le message n'est visible que dans le travail qui appelle la procédure : en session distante, il faut lire l'historique de ce travail précis.
Paramètres
| Paramètre | Type | Par défaut | Signification |
|---|---|---|---|
PRINT_STRING |
VARCHAR(30720) | obligatoire | Chaîne à imprimer |