|
Thanks again Scott (comments inline) >> Still I think that my ignorance is only exceeded by >> my stupidity in that even with your clear and simple >> explanation of Activation Groups I can see no >> application for them. Being able to scope file >> overrides to a part of the call stack is what I now >> understand to be a function of AGs. >> Why would one want to do this. > >Well... lets say you're a software company who releases your programs >to thousands of users all over the world. You put all of your files >and programs in one library. > >The user is able to add your library to their library list, and then >run a command to invoke your software. The first thing your software >does is issue overrides so that your programs will always access the >files in the correct library. > >Under the OPM model, how could you prevent the user from issuing another >override that took precedence over yours? If the user happened to have >another file on his system with the same name as yours, how could you >prevent your override from affecting the other programs running on the >system? Pardon my nitpicking, but I would have thought that preventing the user from issuing another override that took precedence was achieved by the SECURE parameter Does the ILE model prevent this via AGs, what about an override scoped to JOB level. >Now, just to make things more complicated, let's say your distributed >software was able to call an 'exit program' that the user defines. >Now, the exit program will be running at a later call stack level than >your own software does. How can you make sure that your overrides won't >affect it? Especially if you want to make sure you don't modify the >library list? I can see that by limiting the scope of overrides to an activation group can protect Exit programs from being inadvertently affected. I have long ago avoided overrides as a general rule, and controlled file access by the proper set up of library lists. So AGs are not much use to me. I also think that AGs named at compile time are very inflexible. Have you or anyone actually used NAMED AGs. >Usually, I use activation groups to force my service programs to end when >the program that called them ends... not for overrides... consequently, >I generally start a program with ACTGRP(*NEW), and have everything that it >calls use ACTGRP(*CALLER). But I'm weird in that respect, most people >will tell you not to use ACTGRP(*NEW) I have been compiling all my RPG IV programs with AG *CALLER. If is use Procedures compiles fail using the Default AG and I saw that I should avoid *NEW. Thank you for the tip on service programs. Also I think I will use *CALLER when I mix OPM and ILE programs. I was very confused and frustrated when I posted my opening mail But now I feel much more in control and may I express my Sincere Thanks and Appreciation to all who replied and especially Scott to yourself. (U THE MAN) :> Frank Kolmann __________________________________________________________________ Your favorite stores, helpful shopping tools and great gift ideas. Experience the convenience of buying online with Shop@Netscape! http://shopnow.netscape.com/ Get your own FREE, personal Netscape Mail account today at http://webmail.netscape.com/ +--- | This is the RPG/400 Mailing List! | To submit a new message, send your mail to RPG400-L@midrange.com. | To subscribe to this list send email to RPG400-L-SUB@midrange.com. | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com. | Questions should be directed to the list owner/operator: david@midrange.com +---
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.