Hallo,
ich stehe bei einer SQL-Funktion vor einem Rätsel. Die Funktion GETFIRMENSPRACHE sieht folgendermaßen aus:
Code:
CREATE OR REPLACE FUNCTION DTOBJ/GETFIRMENSPRACHE(
P_FINR DECIMAL(2, 0) )
RETURNS VARCHAR(1)
LANGUAGE SQL
SPECIFIC DTOBJ/GETFIRMENSPRACHE
NOT DETERMINISTIC
READS SQL DATA
CALLED ON NULL INPUT
BEGIN
--Variablen
DECLARE SPRACHE VARCHAR(1) DEFAULT '';
--Firmensprache ermitteln
SELECT FIPSPR
INTO SPRACHE
FROM FIRMSTAM
WHERE FIFINR = P_FINR;
RETURN SPRACHE;
END;
Als Parameter wird also die Firmennummer 2-stellig numerisch übergeben.
Das merkwürdige ist jetzt, dass die Funktion bei manchen Leuten ganz normal funktioniert und somit die jeweilige Firmensprache zurückgibt.
Bei manchen Leuten tritt aber folgender Fehler auf:
Code:
Nachrichten-ID . . . . : CPD439C Bewertung . . . . . . : 40
Nachrichtenart . . . . : Diagnose
Sendedatum . . . . . . : 24.05.18 Sendezeit . . . . . . : 14:08:25
Nachricht . . . : Funktion GETFIRMENSPRACHE in Bibliothek *N nicht gefunden.
Ursache . . . . : Funktion GETFIRMENSPRACHE wurde bei der Funktionsauflösung
aufgrund von Ursachencode 3 nicht gefunden. Die Ursachencodes haben folgende
Bedeutung:
1 -- Es wurde keine Funktion mit dem angegebenen Namen gefunden.
2 -- Es wurde eine Funktion mit dem angegebenen Namen in der Bibliothek
gefunden, für die jedoch eine andere Anzahl an Parametern als die
angegebene erforderlich ist.
3 -- Es wurde eine Funktion mit dem angegebenen Namen und der angegebenen
Anzahl an Parametern in der Bibliothek gefunden, aber Parameter 1
hatte eine Datenart, die nicht auf die Datenart des für die Funktion
definierten Parameters hochgestuft werden kann.
Kann mir jemand sagen wo hier das Problem liegt?
Danke,
KM
Bookmarks