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





Hi, Len:

(Minor corrections below.)

There are many things that could be going on here.

You did not say what language(s) those programs are written in. For example:

Is Program A written in CLP (an OPM *PGM that runs only in the *DFTACTGRP)?
-or-
Is Program A written as a CLLE (ILE CL) program, how is it created, with
CRTBNDCL, or with CRTCLMOD and bound CRTPGM? And what activation group
does "A" run in?

Also (perhaps more important), exactly how does Program A call Program B?

Try coding program "A" to call program "B" in this manner:

DCL&PGMB *CHAR 10 VALUE('B')
...
CALL PGM(&PGMB) PARM( ...)

This will force a "resolve" and a full dynamic call on each call, but with

CALL PGM(B) PARM( ... )

the CL compiler emits code in program "A" to resolve the pointer to
program "B" just once, retains that pointer, and re-uses it, so it
would still point to the replaced object "Q123456789" now in QRPLOBJ,
even after you have recompiled program "B". (The MI pointer to the *PGM
object does not change, even though the program is renamed and moved to
a different library.)

Let us know if this helps to resolve your issue.

All the best,

Mark S. Waterbury

> On 9/30/2010 5:00 PM, Len Lester wrote:

> Program A calls Program B which calls Program C.
>
> Programs B and C are in an activation group.
>
> Program A can be instructed to RCLACTGRP the group which contains B and C.
>
> If I re-compile program C the replacement object is in use until I
> instruct program A to RCLACTGRP before calling program B.
>
> After that, the new version of program C is in use.
>
> This doesn't work for program B. THe replacement object stays in use
> and the new version of the program is not used.
>
> If I re-compile C again and instruct program A again to RCLACTGRP, the
> new version of program C is put into use but the replacement object for
> B remains on the call stack.
>
> The WRKJOB command verifies that B and C are in the same activation
> group and the program A has deleted the activation group.
>
> Why won't the new version of program B come into use?
>
>
> Both Program B and Program C call program D which is in the default
> activation group.
>
> Other programs besides A call Program B.
>
>


On 9/30/2010 5:00 PM, Len Lester wrote:
Program A calls Program B which calls Program C.

Programs B and C are in an activation group.

Program A can be instructed to RCLACTGRP the group which contains B and C.

If I re-compile program C the replacement object is in use until I
instruct program A to RCLACTGRP before calling program B.

After that, the new version of program C is in use.

This doesn't work for program B. THe replacement object stays in use
and the new version of the program is not used.

If I re-compile C again and instruct program A again to RCLACTGRP, the
new version of program C is put into use but the replacement object for
B remains on the call stack.

The WRKJOB command verifies that B and C are in the same activation
group and the program A has deleted the activation group.

Why won't the new version of program B come into use?


Both Program B and Program C call program D which is in the default
activation group.

Other programs besides A call Program B.



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.