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



all our programs are compiled with QILE as the activation group. I would
really like to stay with the shop standard if all possible. Even if I
deviate from the shop standard and allow recursive call on PROGRAMA, I'll
still need to add logic to stop it from going into infinite loop, which is
not hard to do. But I was wondering if my wild idea with would be a safe
and easy way to get around the problem and still allow me to follow shop
standard.



"Carel Teijgeler" <coteijgeler@xxxxxxxxx> wrote in message
news:mailman.48855.1307983349.2702.rpg400-l@xxxxxxxxxxxx...
What about two different Named Activation Groups? PROGRAMA runs in one,
the other programmes in the other.

Or use the Environment APIs.

With regards,
Carel Teijgeler

*********** REPLY SEPARATOR ***********

On 13-6-2011 at 11:27 Lim Hock-Chai wrote:

I've a program, PROGRAMA, that accepts two entry-parms. This program
calls PROGRAMB, which in turn calls PROGRAMC. I've a need to change
PROGRAMC to now call PROGRAMD. However, PROGRAMD, which is an existing
program, already has code to call PROGRAMA. Of course, the causes the
recursive call problem.

I've a wild idea to resolve this recursive problem and want to see
what's your opinion about this:
The reason that PROGRAMD needs to call PROGRAMA is becuase it needs a
value on the PROGRAMA's entry-parms, which is already populated by
PROGRAMA by the time PROGRAMD is called.

My idea is to create an export procedure in a service program. This
procs will accepts the PROGRAMA's two entry-parms by reference. The
main code in this service program is to create a static references to
these two entry-parms. I can then change PROGRAMD to call this proc to
get the value it needs thru these static references. I know is a bit
confusing. May be code below and clear up a bit:

The code for this proc would looks something like this:
*************************************************************
P cumPROGRAMAParms...
P B export
D pi n
D piAction 1
D piPgmAParm1 likeds(PGMAParm1)
D piPgmAParm2 likeds(PGMAParm2)

D myPgmAParm1 ds likeds(PGMAParm1)
D based(myPgmAParm1_p)
D myPgmAParm2 ds likeds(PGMAParm2)
D based(myPgmAParm2_p)
D myPgmAParm1_p s * static
D myPgmAParm2_p s * static


/free

select;
when piAction = 'set';
myPgmAparm1_p = %addr(piPgmAParm1);
myPgmAparm2_p = %addr(piPgmAParm2);
return @SUCCESSFUL;

when piAction = 'release';
myPgmAparm1_p = *null;
myPgmAparm2_p = *null;
return @SUCCESSFUL;

when piAction = 'get';
if myPgmAparm1_p <> *null and myPgmAparm2_p <> *null;
piPgmAparm1 = mypiPgmAparm1;
piPgmAparm2 = myPgmAparm2;
return @SUCCESSFUL;
else;
return not @SUCCESSFUL;
endif;
endsl;

return not @successful;

/end-free

P cumPROGRAMAParms...
P E
--
This is the RPG programming on the IBM i / System i (RPG400-L) mailing
list
To post a message email: RPG400-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/rpg400-l.



-----
Geen virus gevonden in dit bericht.
Gecontroleerd door AVG - www.avg.com
Versie: 10.0.1382 / Virusdatabase: 1513/3697 - datum van uitgifte:
06/12/11



-----
Geen virus gevonden in dit bericht.
Gecontroleerd door AVG - www.avg.com
Versie: 10.0.1382 / Virusdatabase: 1513/3697 - datum van uitgifte:
06/12/11






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.