|
That was my thought at first. Then I noticed he is setting on LR following the callp. So the example sets on LR, but the static variables retain their values. Thanks, Buck. Kevin Monahan Sr Programmer/Analyst JL Hammett Co 781-848-1000 x1114 www.hammett.com > -----Original Message----- > From: rpg400-l-admin@midrange.com [mailto:rpg400-l-admin@midrange.com]On > Behalf Of Smith, Nelson > Sent: Thursday, March 07, 2002 4:32 PM > To: 'rpg400-l@midrange.com' > Subject: RE: Activation groups for beginners > > > Isn't that more due to setting on *INLR? Wouldn't an OPM program work the > same if you return with *INLR off? I'm trying to understand what the > activation group has to do with static variables. > > > -----Original Message----- > > From: Buck Calabro [SMTP:Buck.Calabro@commsoft.net] > > Sent: Thursday, March 07, 2002 11:47 AM > > To: rpg400-l@midrange.com > > Subject: RE: Activation groups for beginners > > > > >Can you elaborate a little on "static storage"...? > > > > Static storage is "left alone" between program calls. It isn't > > initialised. > > > > * Demonstrate static storage > > > > h debug dftactgrp(*no) actgrp('QILE') option(*srcstmt: *nodebugio) > > * dbgview(*list) > > > > d incrAndDisplay pr > > > > c callp incrAndDisplay > > c eval *inlr = *on > > > > p incrAndDisplay b > > d incrAndDisplay pi > > > > d countStatic s 10i 0 static > > d countStaticInz s 10i 0 static inz(10) > > d countAuto s 10i 0 > > d countAutoInz s 10i 0 inz(10) > > > > c eval countStatic = countStatic + 1 > > c eval countStaticInz = countStaticInz + 1 > > c eval countAuto = countAuto + 1 > > c eval countAutoInz = countAutoInz + 1 > > c countStatic dsply > > c countStaticInzdsply > > c countAuto dsply > > c countAutoInz dsply > > p e > > > > A traditional OPM program you'd expect to see that every one of these > > variables gets initialised every time the program is called. The two > > variables marked with the 'static' keyword won't. > > > > Call this program. The first time it runs you'll see 1, 11, 1, 11. Run > > it > > again and you'll see 1, 12, 1, 11. Now do a RCLACTGRP QILE and run it > > again. A new AG('QILE') will be created and statuc storage initialised, > > so > > you'll see 1, 11, 1, 11 again. > > > > Static storage is handy when you need to keep track of something all day > > long, like the last time the function was called, or a count of how many > > jobs are using it. > > --buck > > _______________________________________________ > > This is the RPG programming on the AS400 / iSeries (RPG400-L) > mailing list > > To post a message email: RPG400-L@midrange.com > > To subscribe, unsubscribe, or change list options, > > visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l > > or email: RPG400-L-request@midrange.com > > Before posting, please take a moment to review the archives > > at http://archive.midrange.com/rpg400-l. > > > ****************************************************************** > ****************************************************************** > ************************************************************************ > This message originates from Lincare Holdings Inc. It contains > information which maybe confidential or privileged and is > intended only for the individual or entity named above. > It is prohibited for anyone else to disclose, copy, distribute or > use the contents of this message. > All personal messages express views solely of the sender, which > are not to be attributed to Lincare Holdings Inc., and may not be > copied or distributed without this disclaimer. > If you received this message in error, please notify us > immediately at MailAdmin@lincare.com or (800) 284-2006. > ****************************************************************** > ****************************************************************** > ************************************************************************ > > _______________________________________________ > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list > To post a message email: RPG400-L@midrange.com > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/cgi-bin/listinfo/rpg400-l > or email: RPG400-L-request@midrange.com > Before posting, please take a moment to review the archives > at http://archive.midrange.com/rpg400-l. > >
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.