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