Last Updated on 7 Novembre 2024 by Roberto De Pedrini
Prendo spunto da una risposta di Michael Mayer sulle mailing list di Midrange.com a chi chiedeva come monitorare i messaggi della QSYSOPR e delle relative risposte (Reply) agli stessi messaggi.
Con questo semplice SQL è possibile controllare i messaggi di un giorno o di un determinato periodo, ottenendo la lista dei messaggi e delle relative risposte-reply con il timestamp di entrambe;
SELECT A.MESSAGE_TIMESTAMP AS "Date/Time of Error Msg",
A.MESSAGE_ID AS "Msg ID",
A.FROM_JOB AS "Job Generated Error Msg",
A.MESSAGE_TEXT AS "Msg Text",
B.MESSAGE_TIMESTAMP AS "Reply Date/Time",
SUBSTR(B.MESSAGE_TEXT, 1, 10) AS "Reply",
A.FROM_USER AS "Reply by"
FROM TABLE (QSYS2.MESSAGE_QUEUE_INFO(QUEUE_LIBRARY => 'QSYS',
QUEUE_NAME => 'QSYSOPR',
SEVERITY_FILTER => 99)) A,
LATERAL (SELECT MESSAGE_TIMESTAMP,
MESSAGE_TEXT, FROM_USER
FROM TABLE (QSYS2.MESSAGE_QUEUE_INFO(QUEUE_LIBRARY => 'QSYS',
QUEUE_NAME => 'QSYSOPR',
SEVERITY_FILTER => 99))
--- Single Date
--- WHERE CHAR(A.MESSAGE_TIMESTAMP) LIKE '%2024-01-15%'
--- AND ASSOCIATED_MESSAGE_KEY = A.MESSAGE_KEY) B
--- Range of Dates
WHERE CHAR(A.MESSAGE_TIMESTAMP) >= '2024-09-01' AND
CHAR(A.MESSAGE_TIMESTAMP) <= '2024-09-13'
AND ASSOCIATED_MESSAGE_KEY = A.MESSAGE_KEY) B
ORDER BY "Date/Time of Error Msg" ASC;
Possiamo usare questo esempio per interrogare anche altre condizioni e messaggi, non solo QSYSOPR!
HTH
Roberto
--- Roberto De Pedrini Faq400.com