Ich verwende folgende Funktion zur Ermittlung von Warengruppen:

CREATE FUNCTION SWGWA.GetWagrString (
PARFir Char(3), PARKdnr Char(8) )
RETURNS VARCHAR(1024)
LANGUAGE SQL
NOT DETERMINISTIC
READS SQL DATA
CALLED ON NULL INPUT
BEGIN
DECLARE RETURNVAL VARCHAR ( 1024 ) NOT NULL DEFAULT ' ' ;
FOR CSRC1 AS C1 CURSOR
FOR SELECT wagr
FROM SWKWS
WHERE FIR = PARFir
and KDNR = ParKdnr
DO SET ReturnVal = ReturnVal CONCAT '\' CONCAT trim(CsrC1.wagr);
END FOR ;
RETURN LTRIM(ReturnVal) ;
END;

Der Testaufruf bringt aber einen leeren Rückgabewert:
-- Test
select distinct
fir, kdnr, swgwa.GetWagrString(fir, kdnr) as Warengruppen
from swgwa.swkds
where fir='001' and kdnr='010446';;

-- Ergebnis:
Firma Kunde WARENGRUPPEN
001 010446
******** Datenende ********

Wenn ich die Werte direkt mit Select auswähle, bekomme ich aber ein richtiges Ergebnis:
SELECT wagr FROM SWKWS WHERE FIR='001' and KDNR = '010446';;

Wgr
S
SA
W
******** Datenende ********


Woran kann das liegen?

Vielen Dank für eure Hilfe