Hallo,

ich bin jetzt hingegangen, und habe mir ein Duplikat der planz gemacht und mit einem select insert die passenden daten als kopie reingestellt, läuft ratzfatz, verstehe also nicht warum er in der Original UDF eine Timeout bekommt.

Jetzt habe ich ein hoffentlich letztes Problem, er beschwert sich

Nachrichten-ID . . . . : SQL0303 Bewertung . . . . . . : 30
Nachrichtenart . . . . : Diagnose
Sendedatum . . . . . . : 26.05.14 Sendezeit . . . . . . : 14:52:44

Nachricht . . . : Host-Variable *N nicht kompatibel.
Ursache . . . . : Eine Anweisung FETCH, SELECT, CALL, SET, VALUES INTO, GET
DIAGNOSTICS, GET DESCRIPTOR oder SET DESCRIPTOR kann nicht ausgeführt
werden, da die Datenart von Host-Variable *N nicht mit der Datenart des

Und so sieht die UDF jetzt aus:

CREATE FUNCTION rptrade/istumsatz ( PARARTNR dec(6) ) RETURNS
CHAR(500) LANGUAGE SQL READS SQL DATA BEGIN
DECLARE RETURNVAL CHAR ( 500 ) NOT NULL DEFAULT ' ' ;
DECLARE WORK CHAR ( 500 ) NOT NULL DEFAULT ' ' ;
FOR CSRC1 AS C1 CURSOR
FOR SELECT ist
FROM rptrade/planz2
WHERE knd = PARARTNR
DO SET work = work CONCAT ';' CONCAT
Right('0000000000' concat char(Dec(CSRC1.ist, 8, 2)), 10);
END FOR ;
set work = work concat ';0000000,00;0000000,00;' concat
'0000000,00;0000000,00;0000000,00;0000000,00;' concat
'0000000,00;0000000,00;0000000,00;0000000,00;' concat
'0000000,00;0000000,00;';
SET RETURNVAL = left(work, 133);
RETURN LTRIM(RETURNVAL) ;

end


Der Aufruf erfolgt mit select adkto, istumsatz(adkto) from adr01pf
where adsa06 = 201
Ein strdbg bringt mich nicht weiter, ich weiß nicht was er von mir will.

GG