Hallo *all,

ich bin auf dem Weg eine UDF zu erstellen die mir für einen Eingabewert einen HEX Wert zurückliefert.
Leider ist es so das die Eingabewerte zu groß sind da der Rückgabewert max FFFF sein darf.
Deswegen erstelle ich mir eine Tabelle wo ich die Eingabewerte reinschreiben will, die Anzahl der Sätze zähle und dann den Wert auch wegschreibe. (Für spätere Abfragen)

Leider scheitere ich schon am Anfang.
Beim ersten Aufruf ist es ja so, das die Tabelle leer ist. Also würde ich ein einfaches select count(*) machen und den Wert zurückgeben. Das will er aber nicht.

Code:
CREATE FUNCTION rptrade/zaehler /*10.10.19 14:34*/       
 ( DEBITOR dec(08) ) RETURNS                             
CHAR(04) LANGUAGE SQL READS SQL DATA BEGIN               
DECLARE RETURNVAL CHAR ( 04 ) NOT NULL DEFAULT '0000' ;  
  set returnval =                                        
  case when select count(*) from dat020 = 0 then 'XXXX'  
       else '0001'                                       
  end;                                                   
  RETURN LTRIM(RETURNVAL);                               
END;                                                     

Für Hinweise dankbar. Werde mal sehen wo ich vernünftige Doku für die UDFs finde 

GG 4251