Ich habe mir das etwas einfacher gemacht:

Code:
-- ERSTELLEN TABELLENFUNKTION ZUM DOWNLOAD DER ABWEICHENDEN NA-GRÜNDE    
CREATE OR REPLACE FUNCTION BIUMO220.GETBDELNA                            
(YYFIRM CHAR(1)                                                          
,YYWKNR CHAR(3)                                                          
)                                                                        
RETURNS TABLE (B1FIRM   CHAR(1)                                          
              ,B1WKNR   CHAR(3)                                          
              ,B1AGRF   DEC(11, 0)                                       
              ,B1TXNR   CHAR(6)                                          
              ,B1KOMP   CHAR(13)                                         
              )                                                          
LANGUAGE SQL                                                             
MODIFIES SQL DATA                                                        
BEGIN                                                                    
  CALL BIUMO220.FUEBDELNA(YYFIRM, YYWKNR);                               
  RETURN SELECT *                                                        
           FROM BDELNA                                                   
          WHERE B1FIRM = YYFIRM                                          
            AND B1WKNR = YYWKNR;                                         
END;
Die Tabelle wird von mir dann in dem CALL-Programm gefüllt.
An Stelle einer statischen Tabelle kann man auch eine Tabelle in QTEMP verwenden um eine Parallelisierung zu ermöglichen. Hier war das nicht gefordert, da der Zugriff per ODBC erfolgt und alle Daten benötigt werden.