Hallo Peder,

das Problem ist der zweite Parameter, den Du als Ausdruck ('ABT') über gibst.

SQL interpretiert Ausdrücke als Datentyp VARCHAR(). Dein Parameter ist jedoch als CHAR() definiert. VARCHAR() und CHAR() sind für SQL unterschiedliche Datentypen.

SQL UDFs können überladen werden können, d.h. in der gleichen Bibliothek kann eine UDF mit dem gleichen Namen, jedoch unterschiedlichen Parametern (Anzahl und/oder Datentyp, jedoch unabhängig von Längenangaben) vorhanden sein. In Deinem Beispiel wird nach einer Funktion mit Namen S_TBLREAD gesucht, deren zweiter Parameter vom Typ VARCHAR() ist. Diese Funktion exisitiert jedoch nicht, wie die SQL-Nachricht mitteilt.

Um dieses Problem zu umgehen, muss der Ausdruck ('ABT') in den Datentyp CHAR() konvertiert (neuhochdeutsch gecasted) werden.
PHP-Code:
SELECT asabtei
       
S_TBLREAD(asfirma
                 
Cast('ABT' as Char(3)), 
                 
ASABTEI
   
FROM cartalgp 
Birgitta