View Full Version : Benutzernamen überprüfen?!
Hallo zusammen,
ich fange gerade an mich mit CL zu beschäftigen.
Ich habe vor kurzem meine Ausbildung begonnen
und habe natürlich jede Mege Fragen.
Ertsmal fang ich mit einer an :p
Ich möchte in einem CL Prg. eine Nachricht an einen
Benutzer senden und überprüfen ob dieser überhaupt exisitiert.
Gibt es einen bestimmten Befehl der die existierenden
Benutzer ausliest?
:)
Hi Jabber,
nimm den Befehl CHKOBJ, dort kannst du prüfen ob ein USRPRF existiert.
Du kannst dann anhand der MSGID feststellen, ob vorhanden ja/nein.
Gehe in den Hilfetext des Befehls, dort sind die MSG-ID´s afgeführt.
Gruß
Max
Hallo Jabber,
soweit ich weiß gibt es keinen direkten Befehl dafür.
Du kannst aber per MONMSG überprüfen ob dieser User vorhanden ist.
Versuchs mal.
Jamikl
1. Mit CHKOBJ kannst du die Existenz eines Profils feststellen. MONMSG(CPF9800) gibt dir den Fehler, wenn das Profil nicht vorhanden ist.
2. Um alle vorhandenen Benutzer festzustellen, versuchs mal mit DSPOBJD ..... OUTPUT(*FILE) OUTFILE(....)
Hi Jabber,
es geht auch anders: mit RTVUSRPRF (Retrieve User profil) und mit MONMSG abfangen bei nicht vorhandensein. Vorteil dieser Methode ist: man kann alle Parameter eines USRPRF empfangen und prüfen.
Gruss
Thierry
Hallo,
zunächst ein kleiner Tipp zu CL-Befehlen.
Um einen bestimmten Befehl reicht z.B. folgende Eingabe auf einer Befehlszeile:
WRK*
Es werden alle Befehle, die mit WRK beginnen angezeigt.
Wenn man einen Befehl aufruft, kann werden alle möglichen Fehler-Message-Ids (incl. Texten) angezeigt.
Folgendes ist unter CHKOBJ zu finden:
CPF9801 Objekt &2 in Bibliothek &3 nicht gefunden.
CPF9802 Keine Berechtigung für Objekt &2 in &3.
CPF9810 Bibliothek &1 nicht gefunden.
CPF9815 Teildatei &5 Datei &2 in Bibliothek &3 nicht gefunden.
CPF9820 Keine Berechtigung für Bibliothek &1.
CPF9830 Bibliothek &1 kann nicht zugeordnet werden.
CPF9899 Fehler während Befehlsverarbeitung.
Weiterhin gibt es in der AS/400 Online Library einen Command Finder, über den auch nach Texten gesucht werden kann:
http://publib.boulder.ibm.com/iseries/v5r2/ic2924/index.htm?info/rbam6/rbam6clfinder.htm
Ansonsten kann man die Existenz eines User-Profils auch über das API QSYGETPH prüfen.
(Das API ist natürlich noch viel mächtiger, z.B. könnte man damit auch ein Passwort prüfen!)
DCL VAR(&P$User) TYPE(*CHAR) LEN(10)
DCL VAR(&P$PassW) TYPE(*CHAR) LEN(10)
DCL VAR(&HANDLE) TYPE(*CHAR) LEN(12)
CALL PGM(QSYGETPH) PARM(&P$USER &P$PASSW &HANDLE +
X'00000000')
MONMSG MSGID(CPF2204) EXEC(DO)
SNDPGMMSG MSG('*** ERROR *** : Ungültiges Benutzer-Profil')
ENDDO
Birgitta
Vielen Dank, mit RTVUSRPRF hat es funktioniert.
Hätte da aber auch schon die nächste Frage. :rolleyes:
Wenn ich einen CL Proggi starte und die Anweisung,
z.B. savlib soll jeden Tag um die und die Uhrzeit
stattfinden, gibt es da einen bestimmeten Befehl zu??
Hatte schon danach gesucht, leider aber nichts gefunden.
Wenn ich F4 bei savlib benutze kann ich keine Zeit eingeben.
:D
Hi,
probiers mal mit sbmjob. ich nehme an, dass der befehl evtl als nachtjob laufen soll. dort kannst du datum und zeit eingeben.
noch mehr bietet sich allerdings wrkjobscde an. der job scheduler der as. dort kannst du dann auch spezielle tage sagen.
also los, über diesen weg wirst du sehr schnell die mächtigkeit der as (iseries) kennenlernen.
viel spass und gruss
brownie
Hi Jabber,
ich kann nur brownie beipflichten!!! Schau doch sonst bei "GO BACKUP)
Gruss Thierry
Super, mit Jobscde hat es geklappt,
Wenn ich jetzt nicht alle Bibliotheken
sichern möchte könnte ich doch
eigentlich eine neue ph.Datei erstellen
und die Bibliotheken die nicht gesichert
werden sollen in die Datei übertragen,
oder?