Hallo Carsten,

Der Aufbau des Routine-Body ist für Stored Procedures und User Defined Functions identisch. Der einzige Unterschied ist, dass bei Funktionen der Rückgabe-Wert mit RETURN ausgegeben werden muss. Wenn Du also bei Stored Procedures Cursor, Schleifen und Fetches brauchst, benötigst Du die ebenso bei User Defined Functions

Das folgende Beispiel sollte Dein gewünschtes Ergebnis ermitteln und ausgeben:
PHP-Code:
CREATE FUNCTION MySchema/MyFkt (
    
PARARTNR CHAR(5) ) 
    
RETURNS VARCHAR(1024)
    
LANGUAGE SQL 
    SPECIFIC MySchema
/MyFkt
    NOT DETERMINISTIC 
    READS SQL DATA 
    CALLED ON NULL INPUT
    NO EXTERNAL ACTION 
    DISALLOW PARALLEL 
    FENCED 
Begin
   
Declare ReturnVal  Varchar(1024) Default ' ';

   FOR 
CsrC1 AS C1 CURSOR 
       
FOR SELECT LiefNr 
              FROM table1
              Where ArtNr 
ParArtNr 
           
DO Set ReturnVal ReturnVal concat ' ' concat CsrC1.LiefNr
   
END FOR; 

   Return 
LTrim(ReturnVal);
End
Übrigens die FOR-Schleife kombiniert Cursor-Definition, Schleife und Fetch.

Ansonsten würde ich Dir die beiden folgenden Redbooks empfehlen:
Stored Procedures, Triggers and User Defined Functions on DB2 Universal Database for iSeries
Modernizing IBM eServer iSeries Application Data Access - A Roadmap Cornerstone


Birgitta