Hallo

ich habe das Problem, dass eine von mir definierte UDF in der Verwendung nicht funktioniert. Dies sowohl bei einer SQL-UDF wie auch bei einer Externen UDF. Die UDF ist Scalar, und soll aus einer Allgemeinen Tabelle unserer Anwendung den Übersetzungstext eines Tabellenwertes zurückgeben.

Hier die SQL-Anweisung für die Funktionsregistrierung:

Create Function cmxtblobj/S_TBLREAD
(FIR CHAR(3), SAR CHAR(3), RKEY CHAR(10))
Returns CHAR(64)
LANGUAGE SQL
READS SQL DATA
NO EXTERNAL ACTION
DETERMINISTIc
Begin
Declare inhalt char(64);
Set inhalt =(select tblinh from tbl01p where tblanw = 'CMX' and
tblfir = fir and tblsar = sar and tblspr = ' ' and tblkey = rkey);
Return inhalt;

In dieser Anweisung will ich Beispielsweise die UDF verwenden:

SELECT asabtei, S_TBLREAD((asfirma), ('ABT'), (ASABTEI)) FROM
cartalgp

Ich bekomme dann immer den Fehler SQL0204-S_TBLREAD der Art *N in *LIBL nicht gefunden.

Eine Analoge RPG-Prozedur, (als SRVPGM mit korr. Exportsignatur) und als ext. Funktion registriert führt zum gleichen Ergebnis.

Vielleicht habt ihr ja einen Tip
Vielen Dank