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