Chuck,

Thanks for this level of detail.

The detailed joblog does not give any more information than I presented,
but your idea of checking for the specific member on the CHKOBJ resonates
and I think I'll add that. I'll bet that's what is happening. I am doing
the RTVMBRD for a specific named member so I should CHKOBJ for that same
member first.

Thanks for your help!

Rich Loeber - @richloeber
Kisco Information Systems
[1]http://www.kisco.com

--------------------------------------------------------------------------

On 3/18/2013 12:51 PM, CRPence wrote:

On 18 Mar 2013 09:26, Rich Loeber wrote:

I have a CLP with a CHKOBJ for a specific *FILE object

By request to CHKOBJ MBR(*NONE), thus checking only the existence of
the *FILE object? Anything other than MBR(*NONE) will test for the
existence of the *MEM [aka *MBR] object [as well].


followed by a RTVMBRD statement for the same file.

If the next request will be RTVMBRD to a known member name, the prior
CHKOBJ could include that member name. The CHKOBJ could even be
replaced instead with ALCOBJ which would prevent the /deleted/ issue
noted below.


Immediately after this statement, I have a MONMSG for a MCH3402
just in case the *FILE object is deleted between when the CHKOBJ
and RTVMBRD happen.

Only OS code should need to monitor for the x2202 condition in that
case. If the *FILE goes missing, there is no stored pointer in the CLP,
thus the CLP should never experience a condition which diagnoses that
its resolved pointer points to an object that no longer exists.


The problem is that when this actually does happen, the MONMSG
seems to be ignored.The CLP throws the MCH3402 immediately
followed by a CPF9999.

The spooled joblog taken with LOGCLPGM(*YES) active and LOG(4 0
*SECLVL) will reveal better what transpired than a description such as
that above.


When I look at the help text for the RTVMBRD, neither the
MCH3402 or the CPF9999 are listed as errors that can be
monitored for.

There are a variety of types of RTVMBRD invocations. Was this
defaulting to MBR(*FIRST), asking for *LAST, *LASTMBR, *FIRSTMBR, or
something else like generic and\or relative processing?

The MCH3402 should not be signaled to the requester of RTVMBRD. The
CPF9999 is more likely to have been a failure to monitor for whatever
was the failure, but there is also the chance that the RTVMBRD itself
failed with CPF9999 and that was just resent\re-signaled to the invoker.
Again, the spooled joblog tells a better story than what can be
described in words.


Anyone ever run into this?

Most likely there is a defect, although depending on the type of
invocation for RTVMBRD, I could imagine that some issues would not be
corrected in a timely fashion or possibly ever.


Would changing the MONMSG to watch for CPF9999 do the trick?

While that could very likely prevent the problem from being manifest
in a failure for the CLP, there may be better circumventions. Seeing
the joblog is the first step to being better able to understand what is
really going on in the failing scenario [with the CLP requests, if they
do not appear as logged request messages]. The CLP for its MONMSG is
probably worthwhile also, to correlate to the activity in the joblog,
since monitors are not logged; or the given description can be assumed
to be complete.

References

Visible links
1. http://www.kisco.com/

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.