Aller au contenu

Service SQL IBM i (AS/400) · Procédure

QSYS2.SEND_MESSAGE

Envoyer un message à une file de messages

Procédure qui envoie un message, décrit dans un fichier de messages, à une file de messages, par défaut QSYSOPR, pour signaler une anomalie.

À quoi ça sert

Cette procédure envoie un message à une file de messages depuis SQL, par exemple depuis un programme ou une procédure stockée qui diagnostique une erreur grave. On fournit l'identifiant (MESSAGE_ID), la longueur et le texte du message (MESSAGE_LENGTH, MESSAGE_TEXT) ainsi que le fichier de messages (MESSAGE_FILE, par défaut QSQLMSG dans QSYS).

La destination est la file de messages MESSAGE_QUEUE, par défaut QSYSOPR dans QSYS. C'est une alerte visible par l'exploitation et par les outils de supervision qui surveillent cette file, avec l'équivalent de la commande SNDMSG.

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

Envoyer un message à la file QSYSOPR lorsqu'une erreur critique est diagnostiquée.

-- Description: Send a message to the QSYSOPR message queue when a critical 
-- error is diagnosed.  
CALL QSYS2.SEND_MESSAGE('APP1234', 31, 'Unexpected error in MYLIB/PGM2.' ,  
                        'APPLIB', 'MYMSGF');

Bon à savoir

L'identifiant et le texte doivent correspondre à un message existant dans le fichier de messages indiqué : créez votre propre fichier de messages pour vos alertes applicatives, comme dans l'exemple d'IBM.

Paramètres

ParamètreTypePar défautSignification
MESSAGE_ID VARCHAR(7) obligatoire Identifiant du message
MESSAGE_LENGTH INTEGER obligatoire Longueur du message
MESSAGE_TEXT VARCHAR(512) obligatoire Texte du message
MESSAGE_FILE_LIBRARY VARCHAR(10) 'QSYS' Bibliothèque du fichier de messages
MESSAGE_FILE VARCHAR(10) 'QSQLMSG' Fichier de messages
MESSAGE_QUEUE_LIBRARY VARCHAR(10) 'QSYS' Bibliothèque de la file de messages
MESSAGE_QUEUE VARCHAR(10) 'QSYSOPR' File de messages