|
On 21/02/2007, at 5:45 AM, Wilt, Charles wrote:
The lower level on-error works, but the higher level one doesn't get hit. Instead, I get CEE9901
Without seeing exactly what your msg_throw function does it's a bit hard to tell. My GUESS is that msg_throw sends an *ESCAPE message to a call message queue higher in the stack than the monitor statements. If so it is entirely to be expected that the outer monitor does not get control.
The job log messages will tell you where the message was sent from and where it went to. It is probably skipping the call level containing the monitor statements. Try sending the message to the same call message queue as the one containing the monitor. Note that monitor only catches RPG program error codes. That is, those errors for which a program status code can be found in the PSDS. You'll need to ensure that whatever your msg_throw function does causes one of these status codes to be set--in this case probably 00202 or 00211.
Regards, Simon Coulter. -------------------------------------------------------------------- FlyByNight Software OS/400, i5/OS Technical Specialists http://www.flybynight.com.au/ Phone: +61 3 9419 0175 Mobile: +61 0411 091 400 /"\ Fax: +61 3 9419 0175 \ / X ASCII Ribbon campaign against HTML E-Mail / \ --------------------------------------------------------------------
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.