× 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.




On 22/07/2005, at 2:41 AM, rob@xxxxxxxxx wrote:

Why am I getting those low level messages?  Anyone?

I see you've come close to understanding this in later appends and others have guessed at the answer.

All messages sent to a call stack message queue end up in the job message queue (or job log). The LOGLVL attribute of the job is simply a filter over the view of those messages. The filter is applied by DSPJOBLOG. So messages are hidden but not removed. Reducing the filter while the job is active will allow those hidden messages to be seen. One drawback of an increased filter is that important error messages may not be in a spooled job log if the job ends abnormally.

You can't stop messages from being logged except by not sending them in the first place. Once a message is in the job log the only way you can remove it is by receiving it (with the remove option) or removing it by key (if you know the message key). In your case you can do one of the following: 1) Run CHKOBJ to verify the object exists before deleting it (but if it's not found you'll just have a different message to remove)
        2) Run RCVMSG after trying to delete it.
3) Only create the user space if it doesn't exist. If it already exists then just use it.

The normal way to remove "not found" messages is:
        DLTUSRPSC lib/space
        MONMSG CPF2105 EXEC(DO)
                RCVMSG MSGTYPE(*EXCP) /* Not found */
        ENDDO

However, in your case because the DLTUSRSPC command sends an "object deleted" message which you also probably don't care about you could code:
        DLTUSRSPC lib/space
        MONMSG CPF2105 /* Not found */
        
        RCVMSG MSGTYPE(*LAST) /* Either: not found */
                                                  /*     or: object deleted */

If you take the third option (which is they way I'd do it) then you'd code:
        CHKOBJ qtemp/qwcljobl *usrspc
        MONMSG CPF9801 *N DO
                RCVMSG MSGTYPE(*EXCP) /* Not found */
                CRTUS qtemp/qwcljobl
        ENDDO

And as for the idiot at IBM telling you CL doesn't pause on a CALL statement well that just beggars belief. CALL is a synchronous operation. That means the caller stops while the callee is processing. The caller doesn't resume until the callee returns control. I suggest you avoid this particular support person in the future.

Regards,
Simon Coulter.
--------------------------------------------------------------------
   FlyByNight Software         AS/400 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 thread ...

Follow-Ups:
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.