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



Doug,

Excellent explanation...  Thanks.

That was pretty much my understanding, except I didn't think about QCMDEXC
being at a different call lvl.  Would the OVR still not in place, if
CALLLVL(*ACTGRP) was specified in the CLLE, AND *MODULE was compiled
*CALLER??  (Not done a whole lotta CLLE.)

Also, if CALLLVL(*JOB) is specified, does that only apply to *DFTACTGRP??  I
sure THOUGHT I tried that in a CL where RPGLE was in different ACTGRP, and
it didn't work.  I think this is one-a my main problems with the complexity
of Activation Groups in the first place, is I'm not precisely sure how
overrides work.

Thanks again, Doug.

| -----Original Message-----
| From: rpg400-l-bounces@xxxxxxxxxxxx
| [mailto:rpg400-l-bounces@xxxxxxxxxxxx]On Behalf Of Douglas Handy
| Sent: Saturday, October 25, 2003 10:41 PM
| To: RPG programming on the AS400 / iSeries
| Subject: Re: Starting out with sub-procedures
|
|
| JT,
|
| >>| Bear in mind that QCMDEXC is call level sensitive when used for
| >>| OVRxxx commands.
|
| >Would that be the case if the wrapper was compiled ACTGRP(*CALLER)...?
|
| The problem isn't so much the activation group, it is the call level.
|
| Overrides normally only apply at their own call level or below.
| When the call
| level where they were invoked goes away, the overrides go away with them
| although I always consider it good coding to explicitly issue a
| DLTOVR as well
| when done.
|
| QCMDEXC is a special case, and is smart enough to allow you to
| issue a OVRxxx
| command and have it take effect as if were coded at the level of
| the caller,
| instead of lasting only for the duration while QCMDEXC is in the
| call stack.
|
| However, by making a wrapper to QCMDEXC, you are introducing a
| new call level
| between the original code and QCMDEXC.  Thus when it issues
| OVRxxx, QCMDEXC
| detects that and makes the override apply at the level of the
| caller -- which is
| to say the wrapper procedure.  Then when the wrapper returns and
| pops off the
| call stack, the override naturally goes away with it.
|
| This effectively makes it not very useful for issuing OVRxxx commands....
|



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.