Hallo,

verstehe folgendes Szenario nicht:

Habe mehrere SQL-Befehle in einer Source-Datei:
---------------------------------------------------
CREATE PROCEDURE OPUSTEST.PROG1(in var1 integer,
out var2 integer)
LANGUAGE SQL
MODIFIES SQL DATA
BEGIN
DECLARE at_end INT default 0;
DECLARE lLeID VARCHAR(18);
...
---------------------------------------------------

Ich erstelle die Procedure unter meinem Benutzerprofil REINER mit RUNSQLSTM und COMMIT(*NONE) NAMING(*SQL).
Objekt-
Benutzer Gruppe berechtg.
*PUBLIC *EXCLUDE
*GROUP OPUSPGM *ALL

So jetzt erstelle ich eine zweite Sourcedatei und ändere die Bibliothek
----------------------------------------------------
CREATE PROCEDURE OPUSDATA.PROG1(in var1 integer,
out var2 integer)
LANGUAGE SQL
MODIFIES SQL DATA
BEGIN
DECLARE at_end INT default 0;
DECLARE lLeID VARCHAR(18);
...
----------------------------------------------------

Ich erstelle die Procedure unter meinem Benutzerprofil REINER mit RUNSQLSTM und COMMIT(*NONE) NAMING(*SQL).
Objekt-
Benutzer Gruppe berechtg
*PUBLIC *EXCLUDE
OPUSDATA *ALL

Es gibt das Benutzerprofil OPUSDATA. Wieso bekommt jetzt dieser Benutzer Rechte an diesem Programm?
Nur weil die Bibliothek genauso heißt?

Wenn ich die Prozedur interaktiv erstellen lasse, sieht die Objektberechtigung so aus:
Objekt-
Benutzer Gruppe berechtg.
*PUBLIC *EXCLUDE
*GROUP OPUSPGM *ALL

Da tauscht nicht der Benutzer OPUSDATA auf.

Kann mir jemand dieses Verhalten erklären?
Vielen Dank für Hinweise.

Grüße
Reiner