Hallo Birgitta,

wollte natürlich das gleich einmal aus probieren. Beim Erstellen der Funktion kann erst eine Meldung, das er mit "LENGTH" nichts anfangen kann. Also habe ich den Code etwas abgewandelt.
PHP-Code:
Declare CLCmd VarChar(256Not Null Default '';                
Declare 
CLCmdL DEC(155Not Null Default 0,0;                
Set CLCmd 'DSPOBJD OBJ(*ALL/' concat Trim(ParPGMconcat ') '
             
Concat  ' OBJTYPE(*PGM) '                         
             
Concat  ' OUTPUT(*OUTFILE) '                      
             
Concat  ' OUTFILE(QTEMP/TMPOBJD) '                
             
Concat  ' OUTMBR(*FIRST *REPLACE) ';              
Set CLCmdL Length(CLCmd);                                    
Call QCMDEXC(CLCmdCLCmd);
Return 
Select ODLBNMODOBNMODOBTX     
       From QTEMP
/TMPOBJD;               
End 
Damit konnte ich die Funktion erstellen. Führe ich den SELECT aus kommt
"Abfrage kann nicht ausgeführt werden".
Und eine Ebene tiffer in der Meldung
"Zeichen in CAST-Argument ungültig"

Hast du eventuell noch einmal Zeit dir diese Function anzuschauen?
Gruß
Ronald