× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Could you post your STDERR functions again, maybe in the wiki or the faq?

On Mon, Oct 6, 2008 at 8:35 PM, Simon Coulter <shc@xxxxxxxxxxxxxxxxx> wrote:

On 07/10/2008, at 12:04 AM, David FOXWELL wrote:

I'm having problems with messages.

I want to check for an escape message and then send that message to
the caller.

If I code RCVMSG MSGTYPE(*EXCP), I'm getting a CPF9999. I have to
do a second RCVMSG to get the message I'm looking for. However,
with MSGTYPE(*ANY) my message this order seems to be inversed. *ANY
isn't satisfactory as I'm picking up other messages not related to
the error I'm trying to control.

Can anyone explain this and how I should be doing it ?


Working as designed and documented. MSGTYPE(*EXCP) operates in LIFO.
Other types are FIFO.

The reason you are getting CPF9999 is because you are not monitoring
for either a specific message or a generic message ID such as
CPF0000. This results in the OS exception handler kicking in and
generating a Function Check (or CPF9999). The job log contains both
the original exception and the function check (which indicates the
exception was not monitored).

Most people use a global MONMSG for CPF0000 but I use CPF9999 because
I want to get a function check. It provides much more diagnostic
information for unexpected exceptions. Expected exceptions should be
monitored for explicitly or using a generic ID (and then removed from
the job log). The archives are full of comments from me on the proper
way to do exception handling. Use them.

The technique you are using to receive the first exception (CPF9999)
and then receive the previous exception to that is the correct method
when dealing with CPF9999.

I published a STDERR set of functions to do this probably 15 years
ago now. They should be in the archives too but a quick search did
not find them. I have noticed that stuff I **KNOW** exists in the
archives cannot be found with an obvious search yet it shows up
indirectly under other searches. Search is NOT helped by the search
engine stripping characters it doesn't like from the search string.


Regards,
Simon Coulter.
--------------------------------------------------------------------
FlyByNight Software OS/400, i5/OS Technical Specialists

http://www.flybynight.com.au/
Phone: +61 2 6657 8251 Mobile: +61 0411 091 400 /"\
Fax: +61 2 6657 8251 \ /
X
ASCII Ribbon campaign against HTML E-Mail / \
--------------------------------------------------------------------



--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.