Peder
05-12-06, 17:57
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
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