[NEWSboard IBMi Forum]

Thema: sql funktion

  1. #1
    Registriert seit
    May 2006
    Beiträge
    129

    sql funktion

    hallo zusammen fange gerade an mich mit sql funktionen zu beschäftigen und habe folgendes problem.
    habe folgende funktion erstellt und hat auch funktioniert aber wie rufe ich diese nun auf.
    Create Function hjitest/CvtNumToDate
    (DateNum Decimal(8, 0) )
    Returns DATE
    Language SQL
    Deterministic
    Contains SQL
    Returns NULL on NULL Input
    No External Action
    Set Option DbgView = *Source,
    DatFmt = *ISO
    BEGIN
    Declare CvtDate DATE ;
    Declare InvalidDate Condition For '22007' ;
    Declare Continue HANDLER for InvalidDate
    set CvtDate = '0001-01-01';
    Set CvtDate = Date(Substring(Digits(DateNum), 1, 4) Concat '-'
    Concat
    Substring(Digits(DateNum), 5, 2) Concat '-' Concat
    Substring(Digits(DateNum), 7, 2 )) ;
    Return CvtDate;
    END

    wenn ich nun diese abfrage (SELECT TRAFGS, CvtNumToDate(avdat1) FROM foravsp) bekomme ich folgende fehlermeldung(nach langer laufzeit)

    Nachricht . . . : Abfrage kann nicht ausgeführt werden; siehe Nachrichten
    unterer Ebene.
    Ursache . . . . : Beim Öffnen der auszuführenden Abfrage oder beim Erstellen
    der Ausgabe ist ein Fehler aufgetreten. Entweder wurde eine
    Anfragenachricht, die aufgrund eines Fehlers ausgegeben wurde, mit einer
    Abbruchanforderung beantwortet oder die Anforderung wurde ohne
    Anfragenachricht sofort beendet. In den meisten Fällen ist der Fehler auf
    fehlerhafte Daten zurückzuführen oder auf Daten, die nicht korrekt verwendet
    werden.
    Fehlerbeseitigung: Um die Fehlerursache zu bestimmen, F10 drücken oder mit
    dem Befehl DSPJOBLOG (Jobprotokoll anzeigen) die Nachrichten aufrufen, die
    unmittelbar vor dieser Nachricht protokolliert wurden. (Ist eine Sitzung
    "Mit Abfragen arbeiten" aktiv, verbleiben die Diagnosedaten nicht in der

    Jobwarteschlange, es sei denn, der Benutzer bricht die Sitzung ab, wenn zur
    Anzeige zurückgekehrt wird, in der gerade gearbeitet wird.) Alle teilweise
    erstellten Druckausgaben prüfen, wenn diese nicht aufbewahrt werden sollen.
    Den Fehler korrigieren und anschließend die Anforderung wiederholen.


    danke im vorraus
    lg
    steven_r

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.245
    Dann würde ich das mal tun (Ins Joblog schauen).

    Ggf. wird deine Funktion nicht gefunden (*LIBL), ggf. musst du die Funktion qualifizieren "hjitest/CvtNumToDate(avdat1)" oder das Feld avdat1 ist nicht Decimal(8, 0).
    In letzterem Fall musst du das Feld dann casten:
    "hjitest/CvtNumToDate(dec(avdat1, 8, 0))"
    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

Similar Threads

  1. SQL: Ausführungsverhalten einer Funktion in einem CASE-Statement
    By mwithake in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 04-08-09, 14:57
  2. SQL - Cursor vernichten ?!?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 11-10-06, 14:53
  3. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43
  4. Erstellen Trigger über SQL / Read Funktion
    By GHoffmann in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 07-07-05, 09:18
  5. SQL Funktion " Like"
    By Stefan_R in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 23-01-02, 16:08

Berechtigungen

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