[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.755
    Wie die Fehlermeldung schon sagt:
    Der Parameter ist vom Typ Decimal(2, 0), also musst du auch genau dieses so übergeben.
    Ein
    GETFIRMENSPRACHE(1)

    übergibt als Wert einen Integer und das passt leider nicht.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  2. #2
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.016
    Doch, natürlich geht das. Ich kann Integer oder sogar Dezimalstellen übergeben. Der Parameter scheint dann intern entsprechend gecastet zu werden. Folgende Aufrufe funktionieren bei mir und liefern das korrekte Ergebnis:

    getfirmensprache(17,2345)
    getfirmensprache(int(17))

    Nur bei anderen Benutzern funktioniert das nicht. Und ich weiß nicht warum. Und vor allem was bedeutet folgender Satz genau?

    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.

  3. #3
    Registriert seit
    Nov 2003
    Beiträge
    2.423
    Hast du ein Beispiel eines Aufrufs, der nicht geht?

    AS/400 SQL user-defined functions (UDF) concepts

    Overloaded function names

    Function names can be overloaded. Overloaded means that multiple functions, even in the same schema, can have the same name. Two functions cannot, however, have the same signature. A function signature is the qualified function name and the data types of all the function parameters in the order in that they are defined.

    Function resolution

    It is the function resolution algorithm that takes into account the facts of overloading and function path to choose the best fit for every function reference, whether it is a qualified or an unqualified reference. All functions, even built-in functions, are processed through the function selection algorithm. The function resolution algorithm does not take into account the type of a function. So a table function may be resolved to as the best fit function, even though the usage of the reference requires an scalar function, or vice versa.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.755
    Dann must du genau gucken, der Autocast klappt nicht. Das kann bei embedded SQL schon mal eher passieren.

    hatte eine Datenart, die nicht auf die Datenart des für die Funktion
    definierten Parameters hochgestuft werden kann
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.016
    Ich hab jetzt die UDF mal gelöscht mit "drop function" und danach nochmal neu erstellt. Damit scheint das Problem nun behoben zu sein. Ein "create or replace function" hatte nicht geholfen.

    Trotzdem verstehe ich nicht warum die UDF bei manchen Leuten funktioniert hat und bei manchen nicht.

    Gruß,
    KM

Similar Threads

  1. Funktion die ich vermisse
    By AS400.lehrling in forum Intern - Hilfe - Feedback - Tests-Forum
    Antworten: 4
    Letzter Beitrag: 20-10-15, 21:24
  2. SQL Funktion IN oder OR
    By XMan in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 28-07-15, 22:41
  3. Antworten: 7
    Letzter Beitrag: 23-03-15, 18:21
  4. Antworten: 7
    Letzter Beitrag: 14-07-14, 15:06
  5. SQL Funktion " Like"
    By Stefan_R in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 23-01-02, 17:08

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •