Aller au contenu

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ètreTypePar défautSignification
PRINT_STRING VARCHAR(30720) obligatoire Chaîne à imprimer