PDA

View Full Version : QSYGETPH API



Seiten : [1] 2 3

hgdieterle
19-02-14, 13:19
Versuche gerade mit QSYGETPH den User eines Jobs zu ändern. Laut Dokumentation von IBM ist als Passwort auch *NOPWD erlaubt. Dies führt bei mir aber immer zu dem Fehler Kennwort falsch. Der User hat *USE Rechte an dem neuen Profil. Irgendeinde Idee.
Vielen Dank

Pikachu
19-02-14, 13:30
Probiers mal zum Beispiel so:


PGM
DCL VAR(&USER) TYPE(*CHAR) LEN(10)
DCL VAR(&CURUSER) TYPE(*CHAR) LEN(10)
DCL VAR(&NEWUSER) TYPE(*CHAR) LEN(10)
DCL VAR(&NEWHANDLE) TYPE(*CHAR) LEN(12)
DCL VAR(&OLDHANDLE) TYPE(*CHAR) LEN(12)
MONMSG MSGID(CPF0000)

CHGVAR VAR(&NEWUSER) VALUE(QSYSOPR)
CALL PGM(QSYGETPH) PARM(*CURRENT *NOPWD &OLDHANDLE)
CALL PGM(QSYGETPH) PARM(&NEWUSER *NOPWD &NEWHANDLE)
CALL PGM(QWTSETP) PARM(&NEWHANDLE)

RTVJOBA USER(&USER) CURUSER(&CURUSER)
SNDPGMMSG MSGID(CPF9897) MSGF(QCPFMSG) MSGDTA(&USER +
*BCAT &CURUSER)
CALL PGM(QWTSETP) PARM(&OLDHANDLE)
CALL PGM(QSYRLSPH) PARM(&NEWHANDLE)
CALL PGM(QSYRLSPH) PARM(&OLDHANDLE)
ENDPGM

Fuerchau
19-02-14, 13:42
To obtain a profile handle for a profile that does not have a password, specify
*NOPWD.

Mit anderen Worten: Wenn das Profil ein Kennwort hat, dann musst du das Kennwort auch übergeben.

hgdieterle
19-02-14, 13:48
Hallo,
habe das obige Programm getestet und es funktioniert tatsächlich.
Vielen Dank

Pikachu
19-02-14, 22:00
Mit *USE-Berechtigung und *NOPWD klappt's auch mit'm Nachbarn mit Kennwort. ;)

emkata
16-03-18, 09:24
Hallo Herr Fuerchau,

wir haben versehentlich das Objekt QSYGETPH in QSYS mit QSYGETPH aus einem anderen System überspielt. Jetzt funktionieren unsere DDM-Zugriffe von anderen Maschinen nicht mehr. Beide Maschinen haben die gleiche Relase- und PTF-Stände. Haben Sie irgendwelche Ideen, wie wir unser Problem lösen können? Wir haben leider keine Sicherung des Objekts QSYGETPH.

Danke und Gruß

BenderD
16-03-18, 09:57
... gibt es eine Fehlermeldung? Wie sieht die Berechtigung für QSYGETPH aus?

D*B

Fuerchau
16-03-18, 09:58
Da hat man nun schlechte Karten.
Systemobjekte sind z.T. intern verlinkt.
Durch das Überschreiben ist der interne Link aufgehoben worden.
Dies bekommt man ggf. nur per Neuinstallation des OS wieder hin.

http://www-01.ibm.com/support/docview.wss?uid=nas8N1019748

emkata
16-03-18, 10:04
Die Meldung ist CPF9190 mit Ursachencode 15.
Nachricht . . . : Berechtigungsfehler beim Versuch, eine DRDA/DDM
TCP/IP-Verbindung herzustellen.
15 -- Sicherheitsverarbeitung am Server fehlgeschlagen.

Wir hatte auch die Befürchtung mit einer internen Verlinkung :-(

So sieht die Berechtigung aus:

Objektberechtigung anzeigen

Objekt . . . . . . . : QSYGETPH Eigner . . . . . . . : QSYS
Bibliothek . . . . : QSYS Primärgruppe . . . . : *NONE
Objektart . . . . . : *PGM ASP-Einheit . . . . : *SYSBAS

Objekt durch Berechtigungsliste geschützt . . . . . . . . . . : *NONE

Objektbe- ------------Objekt------------
Benutzer Gruppe rechtigung Opr Verw Exist. Ändern Ref
*PUBLIC *USE X
QSYS *ALL X X X X X
QRDARS400 *USE X
QSRV *USE X

BenderD
16-03-18, 10:18
... das ist doch der Fehler auf dem client, sprich der anfordernden Maschine? Wie sieht das auf der Serverseite aus? Müsste im Joblog von QRWTSRVR zu finden sein.
D*B