I always thought it was unnecessary -- simply allow ACTGRP(*DEFAULT)
instead of DFTACTGRP(*YES).
Seems to me that using ACTGRP(*DEFAULT) would result in even more
confusion than DFTACTGRP(*YES). They both lead you to believe that the
parameter simply controls the activation group of the program.
In reality, DFTACTGRP(*YES) does more than just control the activation
group. It also causes the program to behave differently -- it now
behaves like an OPM program instead of an ILE program.
IMHO, ACTGRP(*DEFAULT) would be even worse -- it'd make it seem
absolutely clear that the parameter is for controlling the activation
group -- and make it even more confusing when the person later learns
that it controls more than that. (But only when set to *DEFAULT)
Also confusing... the commands ship with QILE as the default value for
the ACTGRP parameter. Don't you think it'd confuse people a little bit
if *DEFAULT was neither the default value for the parameter, nor is an
alias for the command's default value?
IMHO, they should've used the name OPMCOMPAT instead of DFTACTGRP (this
is pretty much exactly what Jon said, except that I like 'OPMCOMPAT'
better than his suggestion of 'CMPMODE') It makes it clear that when
you specify DFTACTGRP(*YES) -- or in my version, OPMCOMPAT(*YES) -- that
you're putting the program in OPM compatibility mode, and that it will
run in the OPM activation group, and behave like an OPM program with
regards to when the activation is created and when the activation is
deleted, as well as whether you can or cannot use ILE features.
And the docs could say 'The ACTGRP parameter is ignored when you specify
OPMCOMPAT(*YES)'. That way, you wouldn't be confused between the
default value for the activation group parameter and the "default