Hello all, In our production system we use version 7.5.0.19. Same days ago I made an update of my development system to 7.6.0.32. Now I got a problem with a procedure. The procedure returns a cursor. If no data are returned on 7.5.0.19 I get the message No result, on 7.6.0.32 General error;-4024 POS(1) is produced.
I can avoid the error by making a better (safer) code as shown in the following text. But it is a hard work tosearch through all procedures and triggers for a similar problem. Elke CREATE DBPROC PROC_DBV_SCHULEN (IN PNR INT) RETURNS CURSOR AS VAR BEG1 DATE; END1 DATE; ID1 INT; BEG2 DATE; END2 DATE; ID2 INT; TRY DELETE FROM TEMP.DBV_SCHULEN; CATCH CREATE TABLE TEMP.DBV_SCHULEN (BEGINN DATE, ENDE DATE, SCHUL_ID INT); /* If temporary table is empty after this select, the error *4024 is produced To avoid it I added try-cath */ TRY INSERT INTO TEMP.DBV_SCHULEN SELECT BEGINN, ENDE, SCHUL_ID FROM DBA.T_DBV WHERE PERS_NR = :PNR; CATCH DECLARE :$CURSOR CURSOR FOR SELECT 'keine' AS Schule FROM SYSDBA.DUAL; DECLARE CC CURSOR FOR SELECT * FROM TEMP.DBV_SCHULEN ORDER BY BEGINN FOR REUSE; FETCH CC INTO :BEG1, :END1, :ID1; WHILE $RC = 0 DO BEGIN FETCH CC INTO :BEG2, :END2, :ID2; IF $RC = 100 THEN BREAK; IF ID1 = ID2 AND ADDDATE(END1,1) = BEG2 THEN BEGIN UPDATE TEMP.DBV_SCHULEN SET ENDE = :END2 WHERE SCHUL_ID = :ID1 AND ENDE = :END1; DELETE FROM TEMP.DBV_SCHULEN WHERE SCHUL_ID = :ID1 AND BEGINN = :BEG2; END; SET BEG1 = BEG2; SET END1= END2; SET ID1=ID2; END; DECLARE :$CURSOR CURSOR FOR SELECT BEGINN, ENDE, CHR(SCHUL_NR,6)&', '&SCHULNAME&' '&ORT& ' ' & DECODE (CASE WHEN SCHLIESSDATUM ='2099-12-31' THEN NULL ELSE SCHLIESSDATUM END , NULL , ' ', '(Schließung:'&CHR(DAY(SCHLIESSDATUM ))&'.'&CHR(MONTH(SCHLIESSDATUM ))&'.'&CHR(YEAR(SCHLIESSDATUM ))&')') AS SCHULE FROM TEMP.DBV_SCHULEN, DBA.T_SCHULE WHERE TEMP.DBV_SCHULEN.SCHUL_ID = T_SCHULE.SCHUL_ID ORDER BY BEGINN DESC; -- MaxDB Discussion Mailing List For list archives: http://lists.mysql.com/maxdb To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]