klappt wunderbar, vielen Dank! Die Anwender werden sich freuen.
Wen es interessiert, hier der Code
Code:
DCL VAR(&HNDLORGUSR) TYPE(*CHAR) LEN(12)
DCL VAR(&USER0) TYPE(*CHAR) LEN(10)
DCL VAR(&USER1) TYPE(*CHAR) LEN(10)
DCL VAR(&HNDLSNDUSR) TYPE(*CHAR) LEN(12)
DCL VAR(&MSG) TYPE(*CHAR) LEN(160)
...
/* Aktuellen Benutzer ermitteln */
RTVJOBA USER(&USER0)
/* Handle für aktuellen Benutzer ermitteln */
CALL PGM(QSYGETPH) PARM(&USER0 '*NOPWD' &HNDLORGUSR)
/* Switchen auf den User */
CALL PGM(QSYGETPH) PARM(&USER1 '*NOPWD' +
&HNDLSNDUSR)
CALL PGM(QWTSETP) PARM(&HNDLSNDUSR)
CALL PGM(QSYRLSPH) PARM(&HNDLSNDUSR)
SNDNETSPLF FILE(&SPLF) TOUSRID((&USER1 &SYS)) +
JOB(&JOBNR/&JOBUSR/&JOB) SPLNBR(*LAST) +
DTAFMT(*ALLDATA)
/* Zurück switchen auf ursprünglichen User */
CALL PGM(QWTSETP) PARM(&HNDLORGUSR)
CALL PGM(QSYRLSPH) PARM(&HNDLORGUSR)
Berechtigungsbedenken habe ich auch keine mehr: Der &USER1 hat *SPLCTL-Rechte, und darf nur verwendet werden, weil das Programm als *OWNER eben diesen &USER1 hat.
Prima, nochmals danke!
Gruß, Christian
Bookmarks