On 25-Jul-2016 16:39 -0500, John Yeung wrote:
On 25-Jul-2016 16:09 -0500, Rob Berendt wrote:
<snip>
User profile . . . . . . . . . . . . . . . . . : *OWNER
Use adopted authority . . . . . . . . . . . . : *YES
</snip>
These are UNRELATED!!!
They need to set the first
User profile . . . . . . . . . . . . . . . . . : *OWNER
The second one
Use adopted authority . . . . . . . . . . . . : *YES
simply means that if the previous program was using adopted
authority then continue the chain.
<<SNIP>>
If you'll humor those who are less knowledgeable: How does the chain
start? <<SNIP>>
In the <SNIPped> example, the program on the bottom of the stack was
a menu program named BPCSMENU that had USRPRF(*OWNER) and was owned by
the user SSA. Thus all programs higher on the stack will adopt
authority from the user SSA until the program that is invoked has the
attribute USEADPAUT(*NO) [or, and I am unsure if the capability is
available outside the OS, the CALL method being used has set-On the
Suppress-Adopted-Authority option].
FWiW, a few trivial examples following a given setup:
Given the following programs with the noted attributes:
PGM_DO_XX USRPRF(*USER) USEADPAUT(*YES) OWNER(*is_moot)
PGM_DO_YY USRPRF(*USER) USEADPAUT(*NO) OWNER(*is_moot)
PGM_DO_ZZ USRPRF(*USER) USEADPAUT(*YES) OWNER(*is_moot)
PGM_DO_AA USRPRF(*OWNER) USEADPAUT(*YES) OWNER(AAA)
BPCSMENU USRPRF(*OWNER) USEADPAUT(*YES) OWNER(SSA)
If program calls are standard, with the following stack [last listed
is bottom of stack, first is top of stack], then the comment next to the
program name describes the ability of that program to adopt the
rights\privileges from user SSA; comments continue with the term "chain":
PGM_DO_ZZ /* does not adopt SSA; chain remains broken */
PGM_DO_YY /* ¡stop! adopt SSA; chain is broken; Use=*NO */
PGM_DO_XX /* adopts SSA from BPCSMENU; chain continued */
BPCSMENU /* adopts SSA *as* BPCSMENU */
And the following stack; the comment next to the program name
describes the ability of that program to adopt the rights\privileges
from user SSA or user AAA:
PGM_DO_ZZ /* adopts AAA from PGM_DO_AA; new chain continued */
PGM_DO_AA /* adopts AAA *as* PGM_DO_AA; chain starts anew */
PGM_DO_YY /* ¡stop! adopt SSA; chain is broken; Use=*NO */
PGM_DO_XX /* adopts SSA from BPCSMENU; chain continued */
BPCSMENU /* adopts SSA *as* BPCSMENU; chain starts */
And the following stack:
PGM_DO_AA /* adopts AAA *as* PGM_DO_AA; chain starts anew */
PGM_DO_ZZ /* does not adopt SSA; chain remains broken */
PGM_DO_XX /* does not adopt SSA; chain remains broken */
PGM_DO_YY /* ¡stop! adopt SSA; chain is broken; Use=*NO */
BPCSMENU /* adopts SSA *as* BPCSMENU; chain starts */
As an Amazon Associate we earn from qualifying purchases.