I agree that it is acting as though the owner does not have enough authority to 
the object. However, the profile owns every instance (WRKOBJ (*All/EXTTRG)) of 
the trigger with *ALL authority it, the file and the library that both are in. 
As you suggest in a subsequent related reply, I'll see if our iSeries 
administrator will agree to give the profile *ALLOBJECT authority for testing 
purposes. I'm sure it won't be acceptable on a continuing basis, but it is a 
good suggestion for identifying the issue.
Thanks,
Roger Mackie
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx [
mailto:midrange-l-bounces@xxxxxxxxxxxx] 
On Behalf Of Denis Robitaille
Sent: Tuesday, April 03, 2007 9:01 AM
To: Midrange Systems Technical Discussion
Subject: RE: Rép. : Adopted authority and triggers
Then, the most likely explanation is that the owner of the trigger progra do 
not have enough right to the files. 
Or maybe there is another copy of the trigger program out there that gets 
called instead of the right one.
"Mackie, Roger L. (Precision Press)" <RLMackie@xxxxxxxxxxxxx>
2007-04-03 09:39 >>>
I used USRPRF(*OWNER). When that didn't work, I removed the triggers, 
recompiled the external programs with USRPRF(*OWNER) and reapplied the 
triggers. Here is a portion of the current DSPPGM output for one of the 
external triggers. The other is the same:
   User profile . . . . . . . . . . . . . . . . . :   *OWNER
   Use adopted authority  . . . . . . . . . . . . :   *YES   
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[
mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Denis Robitaille
Sent: Tuesday, April 03, 2007 8:23 AM
To: Midrange Systems Technical Discussion
Subject: RE: Rép. : Adopted authority and triggers
What keyword do you use when compiling the trigger to make them adopt autority. 
Sometimes, we can confuse the USRPRF parameter and the AUT parameter. 
"Mackie, Roger L. (Precision Press)" <RLMackie@xxxxxxxxxxxxx>
2007-04-03 09:04 >>>
The trigger programs are strictly RPGLE with no SQL statements. 
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[
mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Denis Robitaille
Sent: Tuesday, April 03, 2007 8:00 AM
To: Midrange Systems Technical Discussion
Subject: Rép. : Adopted authority and triggers
Trigger should be able to adopt autority. Maybe your trigger programs uses 
dynamic SQL, if so, they must be compile with the option DYNUSRPRF(*OWNER). By 
dynamic SQL, I mean that the SQL statement to run is not known at compile time.
"Mackie, Roger L. (Precision Press)" <RLMackie@xxxxxxxxxxxxx>
2007-04-03 08:50 >>>
I am working on a project to give a specific user (LMTUSR) limited access to 
our database. As currently designed, LMTUSR is excluded from all but one 
library. The external stored procedures (SQLRPGLE and
RPGLE)
in that library adopt the owner's authority to access functions and data in 
other libraries. As long as those functions are in modules that only read the 
data, they work fine. However, the project requires procedures to insert data 
in certain tables that have *BEFORE *INSERT and *BEFORE *UPDATE external 
triggers.
From reading the security reference manual (we are on v5r3) I
understand
that triggers do not adopt authority from programs earlier in the call stack. 
Changing the external trigger programs to adopt authority (CHGPGM
PGM(EXTTRG) USRPRF(*OWNER)) did not allow LMTUSR to open the files for update 
using adopted authority. When the triggers are disabled, UDFs that access the 
files complete correctly. When the triggers are enabled, the process fails with 
SQL0443 and CPF4236 "Not authorized to open.."
in
the job log. I could not find a parameter on the ADDPFTRG command to adopt 
authority.
Did I miss something? While using adopted authority is there a way to insert 
and/or update data into files with triggers? If not, I'll probably use a data 
queue to get the data to a job whose user does have authority. Or is there a 
better way?
Thanks,
Roger Mackie
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list To 
post a message email: MIDRANGE-L@xxxxxxxxxxxx To subscribe, unsubscribe, or 
change list options,
visit: 
http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx Before posting, please take a moment 
to review the archives at 
http://archive.midrange.com/midrange-l.
As an Amazon Associate we earn from qualifying purchases.