Es ist und bleibt merkwürdig:

Ich habe jetzt eine ganz simple Testfunktion geschrieben:

Code:
--============================================================================
-- Test für SQLCODE
--============================================================================


create or replace function edpgmlib/DAXTEST()
returns varchar(100)


language sql
reads sql data


begin
  declare sqlstate char(5) default '00000';
  declare sqlcode int default 0;
  declare var1 char(1);
  declare code1 int default 0;
  declare var2 char(1);
  declare code2 int default 0;


  select 'J' into var1 from sysdummy1 where ibmreqd = 'Y';
  set code1 = SQLCODE;


  select 'N' into var2 from sysdummy1 where ibmreqd <> 'Y';
  set code2 = SQLCODE;


  return 'code1=' concat digits(code1) concat ' code2=' concat digits(code2);


end;
Wenn ich das im SQL mittels
valuesdaxtest();
ausführe, klappt es!

Wie gewünscht, ist das Ergebnis: "code1=0000000000 code2=0000000100"

Es funktioniert also genau, wie Andreas es beschrieben hat!!

Bei meiner "echten" UDF klappt es allerdings nicht. Ich muss morgen mal in Ruhe darangehen und gucken, was bei meinem Source anders ist.

Nochmals Danke für eure Geduld und Hilfe.