HURRA es klappt.



/* APIs USED: QSYGETPH - Get Profile Handle */
/* QWTSETP - Set Profile */
/* QSYRLSPH - Release Profile Handle */
/* */
/************************************************** *****************/
/************************************************** *****************/
PGM (&USERID &PWD )
DCL VAR(&USERID) TYPE(*CHAR) LEN(10)
DCL VAR(&PWD) TYPE(*CHAR) LEN(50)
DCL VAR(&PWDLEN) TYPE(*CHAR) LEN(4) +
VALUE( X'00000010')
DCL VAR(&PWDCCSID) TYPE(*CHAR) LEN(4) +
VALUE( X'FFFFFFFF')
DCL VAR(&ERRCODE) TYPE(*CHAR) LEN(8) +
VALUE( X'0000000000000000')
DCL VAR(&CURPWD) TYPE(*CHAR) LEN(10) +
VALUE(' ')

DCL VAR(&PRFHNDL1) TYPE(*CHAR) LEN(12)

DCL VAR(&PRFHNDL2) TYPE(*CHAR) LEN(12)
CALL PGM(QSYGETPH) PARM('*CURRENT ' +
&CURPWD &PRFHNDL1)

CALL PGM(QSYGETPH) PARM(&USERID &PWD &PRFHNDL2 +
&ERRCODE &PWDLEN &PWDCCSID)
CALL PGM(QWTSETP) PARM(&PRFHNDL2)


/* Der User wurde verändert PROGRAMMAUFRUF kommt hier rein
*/



CALL PGM(QWTSETP) PARM(&PRFHNDL1)
CALL PGM(QSYRLSPH) PARM(&PRFHNDL1)
CALL PGM(QSYRLSPH) PARM(&PRFHNDL2)
ENDPGM
Also falls mal jemand das gleiche Problem hat. So funktioniert es.
Nachzulesen auch auf der IBM System i and i5/OS Information Center Seite.

Oder was sagen die Profis dazu ???? Passt das so ?? oder könnte man das noch verbessern ??