[NEWSboard IBMi Forum]
Seite 2 von 2 Erste 1 2

Hybrid View

  1. #1
    Registriert seit
    Nov 2020
    Beiträge
    419
    SQLCODE und SQLSTATE sind auch in SQL Funktionen und Prozeduren verfügbar.
    Du musst sie einfach nur declarieren, dann werden sie automatisch befüllt.
    Im SQLRPGLE werden sie automatisch vom Pre-Compiler deklariert.

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.376
    Zitat Zitat von dschroeder Beitrag anzeigen
    Dann habe ich deinen Code doch noch nicht verstanden. Ich mache mal ein kleines Besipiel:

    In meiner Funktion will mehrere selects abschicken und jeweils wissen, ob es geklappt hat. Muss ich dann mehrmal den Continue Handler deklarieren?

    Also z.B.
    Code:
    DECLARE CONTINUE HANDLER FOR NOT FOUND
    SET END_TABLE = 1;
    
    select ku_name from kunden into name;
    if end_table = 1 then
       erzeugeError(....)
    else
       macheWasGueltiges(name);
    end if;
    
    
    select pr_preis from artikel into preis;
    if end_table = 1 then
       erzeugeError(....)
    else
       macheWasGueltiges(preis);
    end if;
    Meinst du das?
    Oder muss ich vor jedem select den declare und den set machen?
    ... was hast Du denn wirklich vor? Für mich sieht das (oberflächlich betrachtet) nach einem join aus. Was passiert denn, wenn Du gefunden hast und was, wenn nicht - für mich sieht das (oberflächlich betrachtet) nach einem Zugriffsmodul aus.

    D*B

    PS: der KI für eine Ausrede bei ND hält.
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Jan 2012
    Beiträge
    1.215
    Das sind nur vereinfachte Beispiele. Ich schreibe eine SQL-Funktion für einen Webservice. Die Funktion liefert für bestimmte Anfragen Blobs zurück bzw. schreibts übergebene Blobs in eine Datenbank. Es sind nur bestimmte Anfragen zulässig. Deshalb gibt es mehrere if's. Das habe ich aber inzwischen durch case when ersetzt.

    Mein eigentliches Problem ist wirklich nur:
    Wie kann ich den SQLCOD nach einer ausgeführten SQL-Anweisung (das kann eine select oder eine update Anweisung sein) bekommen? Ich möchte erkennen, ob die Anweisung problemlos ausgeführt wurde, ob sie keinen Satz gefunden hat oder ob ein anderer Fehler (z.B. wegen Lock) aufgetreten ist.

    Da ich das an mehreren Stellen im Code brauche, suche ich eine "kurze" Lösung.

Similar Threads

  1. Antworten: 16
    Letzter Beitrag: 29-03-22, 16:25
  2. gelöschte sätze feststellen
    By ILEMax in forum IBM i Hauptforum
    Antworten: 16
    Letzter Beitrag: 15-11-16, 06:56
  3. Feststellen in welchem Feld eine F-Taste gedrückt wurde??
    By JonnyRico in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 20-04-05, 15:29
  4. Remote IP-Drucker => Feststellen Port
    By MAA in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 29-08-04, 11:45
  5. Beendigung von übergebenen Jobs feststellen
    By Cheesy in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 14-07-04, 08:28

Berechtigungen

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