On 13/05/2009, at 5:02 PM, Joep Beckeringh wrote:
Alas, the attention key handling key program does not inherit the
adopted
authority.
That would explain it.
While that in itself makes sense, I would have expected to see that
in the
call stack. When a user presses the attention key, program QWTSEATN
enters
the call stack, before the attention key handling program. I would
have
expected QWTSEATN to have USEADPAUT(*NO), but it has *YES.
There are really six states for adopted authority:
1) Use adopted authority from higher in the stack.
2) Don't use adopted authority.
3) Propagate adopted authority to lower in the stack.
4) Don't propagate adopted authority.
5) Suppress adopted authority from higher in the stack.
6) Don't suppress adopted authority.
In general, IBM exit points (including Attn key processing) suppress
adopted authority at the point of calling a user exit so while
QWTSEATN itself may use existing adopted authority (USEADPAUT(*YES))
it will not propagate that authority to anything it calls (i..e, the
real exit program) even if that called program has USEADPAUT(*YES).
Although CALLX and XCTL allow this to be specified on the call itself
MODINVAU will do it for the current invocation. Note that suppressing
only affects any existing adopted authority from programs higher in
the call stack. It does not preclude a lower program from adopting and
propagating its own authority.
Although CALLX, XCTL, and MODINVAU give the caller the ability to
choose to suppress adopted authority none of the system interfaces
(e.g., DSPPGM, CHGPGM) expose the suppress authority attribute in the
program object itself. I have, for a long time, wanted that ability.
The program architecture supports it, I can patch a program to set it,
but I do not have a supported way of viewing or setting the attribute.
Search the archives for "propagate authority" and you'll find a
discussion on this topic (and even an append where I learned something).
Regards,
Simon Coulter.
--------------------------------------------------------------------
FlyByNight Software OS/400, i5/OS Technical Specialists
http://www.flybynight.com.au/
Phone: +61 2 6657 8251 Mobile: +61 0411 091 400 /"\
Fax: +61 2 6657 8251 \ /
X
ASCII Ribbon campaign against HTML E-Mail / \
--------------------------------------------------------------------
As an Amazon Associate we earn from qualifying purchases.