Jerry;
There is only one copy of the program code on the system, every activation group uses the same program code, but with ACTGRP(*CALLER) each activation group within each job has an instance ("copy") of the variables, storage, file descriptors, etc... It would probably only matter if you went activation group "happy" and gave every program/service program a *NEW or named activation group.
Duane Christen
--
Duane Christen
Senior Software Engineer
(319) 790-7162
Duane.Christen@xxxxxxxxxx
Visit PAETEC.COM
-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Jerry Adams
Sent: Thursday, August 13, 2009 10:56 AM
To: Midrange-RPG (rpg400-l@xxxxxxxxxxxx)
Subject: Trigger Program Activation Group
I am writing a trigger program that uses DFTACTGRP(*No) and ACTGRP(*Caller), which is the way I usually write these (unless I want/need to use a named activation group). We use, as a system value, the 36 environment so our basic program set, which is RPG II invoked from OCL, uses the default activation group. Except for maintenance of those RPG II programs and OCL, all new development is in ILE RPG and CL. I had never thought about it much before (if at all), but I wondered what activation group would be used if the trigger was fired while using one of those old programs.
So I checked the manual, which didn't have an answerm and our archives. Responses from Scott and Simon indicated that, despite DFTACTGRP(*No), the program would, indeed, run from the default AG. Answered my initial question, but then another one crept into my head: What if the user triggered the program while running an RPG II program and then later caused it to fire from an ILE RPG program, which uses a named AG, or vice versa. Would another copy of the trigger program be loaded into the named AG? Bear in mind that I never close the trigger program to improve performance; except when I use a named AG in a trigger so I can invoke RCLACTGRP, the trigger programs stay active until the user signs off of the System i.
Now that I think about it, while typing this, the 36 environment is immaterial. The trigger program could have been fired as a result of two different programs with different named AG's. The question still remains: Would multiple copies of the trigger program be loaded? In a relatively small shop like ours (I checked and there are currently 18 interactive jobs running; the % CPU used (DSPSYSSTS) is around 2.7%) does it even matter?
Thanks.
Jerry C. Adams
IBM System i Programmer/Analyst
--
B&W Wholesale
office: 615-995-7024
email: jerry@xxxxxxxxxxxxxxx
--
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.
As an Amazon Associate we earn from qualifying purchases.