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