A big THANKS to everybody that responded!

A lot of developers in my "virtual" shop do not have even my grasp of activation groups. When I was /the/ IBM i (or AS/400) programmer, I made sure that I followed guidelines that I remember as suggestions from Barbara Morris: The program A called directly from the menu gets *NEW, and the programs down the stack get *CALLER. Otherwise, use great care.

We recently had an issue where somebody added a trigger to what is probably the file most used by everything, and activation group issues did some big damage. They took it off as soon as they could.

I'm working on a different much-used file, and X-A says it's updated/deleted/inserted to by about 15 active programs. I'm checking the AG's of those, and what I call "upstack" from those programs, called-by. Can of worms. I was asking about one scenario, but the trigger is NOT NOT going to be OPM-RPG. So I'm looking at callers. A couple of the programs are RPGLE-*NEW called by OPM-CLP with overrides. Oops.

In the shop, there are programs that call a dozen others, and the dozen each call back and forth. Can of worms.

It's gonna be sticky but this is my dream job, believe it or not. A bunch of old, old code that we're all told to modernize.

Alan


On 2/23/2021 10:28 AM, Charles Wilt wrote:
Jerry,

If you have a OPM program calling an ILE program with
ACTGRP(*CALLER)...then you are committing one of the 7 deadly sins that Jon
and Susan warn against.

You are running an ILE program in the "OPM default activation group"..

Charles

On Tue, Feb 23, 2021 at 6:13 AM Jerry Adams <midrange@xxxxxxxx> wrote:

RPG II does not have a CALLP op-code. And whenever I use CALL, the
compiler
listing gives me a warning (basically, "Are you really sure you want to do
this?").

If an RPG IV defined by activation group *Caller has prototyped procedures,
could it be called by an RPG II program without incident (i.e., bad vibes)?

But maybe I did not correctly understand Jon and Charles. As I read the
thread, if an RPG IV program is (at least explicitly) defined with the
Default activation group, it could not even have prototyped procedures.
Period.

Just curious. Never done that. Do not plan to do that.

Jerry C. Adams
It's weird being the same age as old people.
IBM i Programmer/Analyst
--
NMM&D
615-832-2730


-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxxxxxxxx] On Behalf
Of
Rob Berendt
Sent: Tuesday, February 23, 2021 6:47 AM
To: Midrange Systems Technical Discussion
Subject: RE: Default activation groups

Are you using CALL to call external programs or are you using CALLP to call
prototyped subprocedures (not subroutines)? CALL is a totally different
animal from CALLP.
CALLP is more tied to activation groups than CALL is.

Rob Berendt
--
IBM Certified System Administrator - IBM i 6.1
Group Dekko
Dept 1600
Mail to: 7310 Innovation Blvd, Suite 104
Ft. Wayne, IN 46818
Ship to: 7310 Innovation Blvd, Dock 9C
Ft. Wayne, IN 46818
http://www.dekko.com


-----Original Message-----
From: MIDRANGE-L <midrange-l-bounces@xxxxxxxxxxxxxxxxxx> On Behalf Of
Jerry
Adams
Sent: Tuesday, February 23, 2021 7:22 AM
To: 'Midrange Systems Technical Discussion' <midrange-l@xxxxxxxxxxxxxxxxxx
Subject: RE: Default activation groups

CAUTION: This email originated from outside of the organization. Do not
click links or open attachments unless you recognize the sender and know
the
content is safe.


Well, Jon, learn something new every day. Of course, I never use the
default as Susan taught me better than that. She never explained this as a
reason (that I recall); just "Don't do that, Jerry!".

That said, I do use *Caller occasionally (once or twice). You know my
environment, Jon, but for others I live in the 36E. I do use CALLs in an
RPG II program here and there. So, if the called program uses *Caller as
the activation group, how does that affect things? My thinking is that the
called program could still use procedures during the compilation phase.
But
would the procedures still work (be invoked)?

Jerry C. Adams
I don't always go the extra mile, but when I do it's because I missed my
exit.
IBM i Programmer/Analyst
--
NMM&D
615-832-2730

-----Original Message-----
From: MIDRANGE-L [mailto:midrange-l-bounces@xxxxxxxxxxxxxxxxxx] On Behalf
Of
Jon Paris
Sent: Monday, February 22, 2021 5:32 PM
To: Midrange Systems Technical Discussion
Subject: Re: Default activation groups

Ah ... When you use DFTACTGRP(*YES) - the worst named option in the history
of the platform - you are basically saying "please build this as an OPM
program - or at least one that pretends to be OPM".

As a result there should basically be no issues with anything. All scoping
etc. should be the same as if you had coded the new stuff as an OPM
program.



On Feb 22, 2021, at 5:26 PM, Alan Cassidy <cfuture@xxxxxxxxxxx> wrote:

I should have asked this question more clearly, specifically.

Given an OPM-RPG program A, is there a gotcha with calling program B
compiled with DFTACTGRP(*YES)? I need to capture changes to a certain file
for certain values and instead of modifying old RPG3 code I'd like to call
an RPGLE program to handle something like a data queue pipe to another
process that checks for changes and sends an email.
Thing is I need to catch changes to two values in a file, and I'm looking
at triggers because records get updated, deleted, and/or inserted by about
15 programs, They run in the gamut of AG'S: OPM-RPG, RPGLE-*DFTACTGRP,
*CALLER, *NEW, and QILE. (these programs will be part of a comprehensive
modernization strategy they are planning that includes the activation group
issues.)
there is time pressure to clear a backed-up queue of requests. But I
don't
want any gotchas of course.
aec



On 2/21/2021 1:44 PM, Jon Paris wrote:
We covered this topic (and related issues) in 2004 in an article called
"The Seven Deadly Sins of ILE" - you can find it
herehttps://
authory.com/JonParisAndSusanGantner/The-Seven-Deadly-Sins-of-ILE
<https://authory.com/JonParisAndSusanGantner/The-Seven-Deadly-Sins-of-ILE>

Jon Paris


On Feb 21, 2021, at 12:10 PM, Alan Cassidy<cfuture@xxxxxxxxxxx>
wrote:
Can somebody share the differences between the two different activation
groups?
Specifically, is there any gotchas if one OPM program A called an RPGLE
program B compiled with DFTACTGRP(*YES) ?
aec


--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
To post a message email:MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit:https://lists.midrange.com/mailman/listinfo/midrange-l
or email:MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
athttps://archive.midrange.com/midrange-l.

Please contactsupport@xxxxxxxxxxxxxxxxxxxx for any subscription
related
questions.
Help support midrange.com by shopping at amazon.com with our affiliate
link:https://amazon.midrange.com
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing
list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.
Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link:
https://amazon.midrange.com

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link:
https://amazon.midrange.com
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link:
https://amazon.midrange.com

--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/midrange-l.

Please contact support@xxxxxxxxxxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2021 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.