Hallo *all,
mir fehlt jetzt nur noch die Konvertierung von hex nach decimal. Finde es auf Anhieb nicht wie der cast aussehen muß. Weil ohne fällt das Teil ab 000A auf die Nase.
Wie kann man eigentlich solche UDFs debuggen?
Ansonsten sieht meine UDF so aus.
Code:CREATE FUNCTION rptrade/zaehler /*11.10.19 10:51*/ ( DEBITOR dec(08) ) RETURNS CHAR(04) LANGUAGE SQL MODIFIES SQL DATA ALLOW DEBUG MODE DISALLOW PARALLEL BEGIN DECLARE RETURNVAL CHAR (04) NOT NULL DEFAULT '0000' ; DECLARE i_zaehler decimal(04) DEFAULT 0; select d020werta into i_zaehler from dat020 where d020key = debitor; if i_zaehler = 0 then select d020werta into i_zaehler from dat020 order by d020werta desc fetch first row only; set i_zaehler = i_zaehler + 1; insert into dat020 (d020key, d020werta) values(debitor, substr(hex(int(i_zaehler)), 5, 4)); end if; set returnval = substr(hex(int(i_zaehler)), 5, 4); RETURN LTRIM(RETURNVAL); END
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten
Bookmarks