Qui a répondu à un message dans QSYSOPR?

QSYSOPR est une file d’attente de message qui reçoit, les messages nécessitants une réponse pour les travaux batchs
Voici une petite requête qui permet de connaitre l’utilisateur, qui a répondu à un message dans QSYSOPR

SELECT A.MESSAGE_TIMESTAMP,
A.MESSAGE_ID,
A.FROM_USER,
A.FROM_JOB,
A.MESSAGE_TEXT,
B.MESSAGE_TIMESTAMP,
SUBSTR(B.MESSAGE_TEXT, 1, 10) AS RESPONSE
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)
)
WHERE A.MESSAGE_TIMESTAMP >= CURRENT TIMESTAMP – 1 DAYS
AND A.MESSAGE_TIMESTAMP <= CURRENT TIMESTAMP
AND ASSOCIATED_MESSAGE_KEY = A.MESSAGE_KEY
) B
ORDER BY a.MESSAGE_TIMESTAMP DESC
;

Dans la requête on regarde sur la veille, vous pouvez archiver ces messages

Remarque:

Pour les éditeurs le user sera toujours QSPLJOB
Vous pouvez adapter la requête pour avoir par exemple les temps de réponse à chaque message