Remove Misleading Messages from Job Logs,
June 29, 2005 Hey, Ted
I agree that removing handled messages from the job log is very helpful. One optimization would be to put the API call in its own procedure, as that API has many parameters. Because we are adding a call level, we need to adjust the CallStackCtr parameter to 1 instead of 0. That is, we want to remove the message sent to the caller of our procedure.
prmvExceptionMsg b export d pi d ApiErr ds d provided 10u 0 inz(%size(ApiErr)) d available 10u 0 inz d MsgInfo s 8a /free QMHRCVPM(MsgInfo: %size(MsgInfo): 'RCVM0100': '*': 1: '*EXCP' : *blanks : 0 : '*REMOVE': ApiErr) ; /end-free p e
Then the application code becomes:
monitor; three = one / two; on-error; rmvExceptionMsg() ; three = *zero; endmon;
Just read this week’s Four Hundred Guru. Great as always.
Another way to reduce the size of job logs is to change the logging level of the job in question. I have reduced job logs by making a simple change to eliminate non-errors by using CHGJOB LOG(4 10 *NOLIST) to eliminate 00 info messages.
Thanks to Thierry and Russ for these ideas.