Hallo *all,
ich bin ja immer noch bei meinen Daten zusammenstellen.
Ich habe hier eine UDF
CREATE FUNCTION rptrade/istumsatz ( PARARTNR dec(6) ) RETURNS VARCHAR(134) LANGUAGE SQL READS SQL DATA BEGIN
DECLARE RETURNVAL VARCHAR ( 134 ) NOT NULL DEFAULT ' ' ;
DECLARE WORK VARCHAR ( 333 ) NOT NULL DEFAULT ' ' ;
FOR CSRC1 AS C1 CURSOR
FOR SELECT ist
FROM aruba_msvc/planz
WHERE knd = PARARTNR
DO SET work = work CONCAT ';' CONCAT
Right('0000000000' concat Varchar(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

Die auf folgende View zugreift:

CREATE VIEW PLANZ AS SELECT ALL T01.STMOAN AS JM, T01.STKTO AS VKL,
T01.STTENR AS KND, DEC(1, 2, 0) AS FIRMA, DEC(0, 2, 0) AS ABKZ,
CAST (SUM(CASE WHEN STPLIS = 1 THEN STWT02 ELSE 0 END) AS DEC(10, 3)) PLAN,
CAST(SUM(CASE WHEN STPLIS = 2 THEN STWT02 ELSE 0 END) AS DEC(10, 3)) IST,
CAST( (SUBSTR(DIGITS(T01.STMOAN), 1, 4) || SUBSTR(DIGITS(T 01.STMOAN), 5, 2) || '01') AS CHAR(8) CCSID 273) AS DATUM,
SUBSTR(DI GITS(T01.STMOAN), 1, 4) AS JAHR,
SUBSTR(DIGITS(T01.STMOAN), 5, 2) AS MONAT
FROM STA01PF T01,ADR01PF T02
WHERE STFA = 1
AND STFAKT = 1
AND STMOAN > 201300
AND STVDST = 88
AND STSAAR '1'
AND ADABKZ = 0
AND ADKTO = STTENR
AND ADSTS = 0
AND ADFA = 1
GROUP BY STMOAN, STKTO, STTENR

Wenn ich jetzt hingehe und sage:
select ist from aruba_msvc/planz where knd = 19066
blitzt kurz auf das ein Zugriffspfad erstellt wird, und die Daten sind 2 Sekunden später da.
Mache ich aber ein
select adkto, istumsatz(adkto) from adr01pf where adfa = 1and adabkz = 0 and adsa06 = 201
bricht er mir wie gehabt mit Laufzeitfehler ab.
Mein Ziel ist es diese gewonnen Daten in eine Temp-Tabelle zu schubsen um damit arbeiten zu können.

Welche Möglichkeiten habe ich wenn der blöden Kisten alles auf einmal zu viel ist. (wobei mich das persönlich entäuscht von einer Kiste die 1988 als Datenbankmaschine angepriesen wurde)

GG