[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2012
    Beiträge
    1.120

    SQL User Defined Function debuggen

    Hallo zusammen,
    ich habe eine kleine UDF in SQL geschrieben und möchte sie debuggen. Ich habe bereits ACS (dort Run SQL Scripts) gestartet und versuche im Moment, den System Debugger zum Laufen zu bringen. Gestern ist mir das mal kurz gelungen. Jetzt kriege ich es nicht mehr hin.

    Hat jemand eine Art Anleitung, was ich tun muss, um eine UDF zu debuggen? (Es muss nicht das System Debugger sein.)

    Zur Zeit versuche ich Folgendes:
    1. Ich gebe die SQL Anweisung im ACS (im Fenster Run SQL Scripts) ein.
    2. Ich markiere die SQL Anweisung und klicke auf Ausführung, dann auf System Debugger
    3. Danach fragt die System Debugger Maske nach dem zu debuggenden Programm
    4. Da ich weiß, dass die UDF intern als Service Programm erstellt wird, gebe ich das Service Programm an.
    5. Nach OK wird das Service Programm links im Programs Explorer angezeigt und ich kann mich bis zum Source durchklicken. Der SQL Source wird ziemlich unformatiert angezeigt, aber damit komme ich klar.
    6. Ich kann auch Breakpoints setzen usw.
    7. Aber ab dann komme ich nicht weiter. Wie kann ich die SQL-Anweisung ausführen, sodass der Debugger "anspringt" ? Bei mir klappt das nicht.

    LG, Dieter

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    ... geh zurück ins SQL Script und führ' die Funktion aus
    Values(FunktionsAufruf(Par));
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  3. #3
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    Hallo Birgitta,
    genau das habe ich gemacht. Er springt nicht in den Debugger.

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    Du hast die Quelle gesehen und auch Break-Points gesetzt?
    Oder läuft es sich schon tot, wenn Du ein (Service-)Programm auswählst?
    Zweiteres passiert, wenn Du ohne VPN direkt über das Internet zugreifts (z.B. auf die PUB400)
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Ich benutze dafür immer noch den STRDBG auf dem Greenscreen.
    Mittels STRSRVJOB wird der Job in Wartung gesetzt.
    Mit STRDBG wird der Job in Debug versetzt.
    Nun kann man im SQL-Script die Anweisung ausführen und der Debugger stoppt.
    Allerdings darf das Debuggen nicht zu lange dauern, da sonst ein Timeout läuft.
    Den Job findest du per

    wrkobjlck meinprofil *usrprf

    Dann den entsprechenden QZDA-JOB verwenden.

    Den Debugger via ACS oder RDi habe ich auch nie ans laufen bekommen.
    Und solange der STRDBG funktioniert...
    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

  6. #6
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    Ja, ich sehe die (SQL-)Quelle und kann Breakpoints setzen.

    Kann ich mit den STRDBG denn auch SQL-Quellen debuggen? Wenn das geht, wäre das ja auch schon mal eine Möglichkeit.

  7. #7
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    Mit dem STRDBG hat es geklappt. Weshalb der grafische System Debugger aus ASC nicht geht, verstehe ich nicht. (Gestern hat es auch ein paar mal damit geklappt).
    Aber OK, mein Problem konnte ich dank eurer Hilfe lösen.

    Noch eine Frage:
    Bei der Erstellung einer UDF wird vom System ein 10 Zeichen langer Name für das Serviceprogramm erzeugt. In meinem Fall "UM_UB00001". Den kann man doch irgendwo auch selber festlegen, oder?
    Kennt jemand die genaue Anweisung?

  8. #8
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    Hab's schon gefunden:
    SPECIFIC UNIMAIN/UM_BLBASE

    Nochmals vielen Dank für Eure Hilfe!

    LG, Dieter

Similar Threads

  1. User defined Functions auflisten
    By msost in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 18-08-16, 14:59
  2. User Defined Function in SQL, Datumsübergabe an Serviceprogramm
    By dschroeder in forum NEWSboard Programmierung
    Antworten: 27
    Letzter Beitrag: 02-12-14, 09:33
  3. RPGLE Programm mit User Defined Types
    By MatthiasK in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 08-02-07, 16:23
  4. User defined function
    By KM in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 04-08-06, 10:34
  5. SQL User Defined Function mit V5R1
    By Atomik in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 09-10-02, 09:57

Berechtigungen

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