View Full Version : Berechtigung bei SBMJOB
hi *all,
folgendes *prb:
ein programm mit usrprf *owner(test) erstellt ruft crtdupobj auf.wird von user A aufgerufen.
berechtigung an der datei ist user Test *all.
A hat keine berechtigung. aufruf ist aber o.k., da pgm mit *owner s.o. aufgerufen wird.
wird aber ein sbmjob mit crtdupobj abgesetzt, stürtzt der submitted job mit berechtigungsproblem ab.
kennt *jemand eine lösung ??
vielen dank
horst
Hallo Horst,
bei uns (V4R5) gibt es damit überhaupt keine Probleme. Wir verwenden das Verfahren ebenso.
Wird das korrekte Programm aufgerufen (Libl)?
Welche Fehlermeldung wird denn gemeldet?
Gibst Du beim SMBJOB irgend einen User vor?
Gruss
Frank
hi frank,
in diesem cl habe ich einen sbmjob (stürtzt ab mit keine berechtigung für ...)
und den gleichen aufruf interaktiv (crtdupobj
funktioniert !!
bei sbmjob ist user *current übergeben.
gruss
horst
Nur damit wir uns richtig verstehen:
Programm PGM1
pgm
crtdupobj ....
endpgm
Umwandlung durch USER1 mit usrprf(*owner); USER1 hat alle notwendigen Rechte für die entspr. Objekte, die im crtdupobj angesprochen werden.
Nun Ausführung PGM1 durch USER99 (der braucht Ausführungsberechtigung für Objekt PGM1).
Interaktiv: call pgm1
Batch: sbmjob cmd(call pgm1)
In beiden Fällen wird zur Ausführungszeit auch die Berechtigung von USER1 verwendet.
Die genaue Meldung im Joblog wäre mal interessant.
Gruss
Frank
Hallo Frank,
das pgm sieht so aus:
SBMJOB CMD(CRTDUPOBJ OBJ(ANGVERAD) FROMLIB(QS36F) OBJTYPE(*FILE) TOLIB(QTEMP)) JOB(TEST)
CRTDUPOBJ OBJ(ANGVERAD) FROMLIB(QS36F)
OBJTYPE(*FILE) TOLIB(QTEMP)
fehlermeldung zum sbmjob:
Nachricht . . . : -CRTDUPOBJ OBJ(ANGVERAD) FROMLIB(QS36F) OBJTYPE(*FILE)
TOLIB(QTEMP)
CPF2189 Diagnose 40 14.01.02 08:23:22 QLICRDUP QSYS 0828 QCMD QSYS
Nachricht . . . : Für Objekt ANGVERAD in QS36F Art *FILE nicht berechtigt.
Fehlerbeseitigung : Um die Berechtigung beim Sicherheitsbeauftragten oder
Objekteigner nachsuchen. Anschließend die Anforderung wiederholen.
pgm ist mit *owner erstellt.owner hat *allobj-berechtigung.
gruss
horst
Heinz Bretthauer
14-01-02, 13:38
Hallo Horst,
so funktioniert es nicht. Wenn Du aus dem Programm den SBMJOB startest, wird ja ein neuer Job generiert. In diesem Fall müsstest Du USER(programmeigner) angeben.
Der Befehl CRTDUPOBJ in die Qtemp macht aber als eigener Job keinen Sinn. Auf diese Datei kann dann ja keiner mehr zugreifen.
Heinz
Hallo Heinz,
das würde ja bedeuten, daß ich jeden sbmjob
explizit mit user(programmeigner) aufrufen
müsste, wenn an dieser bibliothek keine *public-rechte bestehen.
zu macht keinen sinn : war nur als test gedacht.
gruss horst
Heinz Bretthauer
14-01-02, 16:03
Hallo Horst,
entweder das oder ein zweites Programm. Programm 1 braucht dann nicht mit *OWNER erstellt zu werden, Programm 2 schon.
Programm 1:
PGM
..
SBMJOB CMD(CALL PGM2)
ENDPGM
Programm 2:
PGM
CRTDUPOBJ ...
ENDPGM
Heinz
Hallo Heinz,
Hallo Frank,
vielen Dank für die Antwort.
Gruss Horst