[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Mar 2011
    Beiträge
    94

    RUNSQL Host Variable zurückgeben

    Hallo, ich möchte innerhalb eines CLP per RUNSQL eine Variable innerhalb einer SELECT Anweisung an das CLP zurückgeben. Leider funktioniert das mit INTO nicht. Fehler SQL0090 Host-Variable hier nicht zulässig. RUNSQL SQL('SELECT SUM(WERT) INTO:SUMWERT FROM TABELLE') IF &SUMWERT ..... kann man im CLP keine Host Variablen benutzen? Gruss oulbrich

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    SELECT und SELECT ... INTO sind im CL mit dem neuen RUNSQL Befehl nicht möglich!

    Der einzige Workaround in CL ist m.E.:
    Mit RUNSQL eine temporäre View zu erstellen, und diese wie eine ganz normale Datei zu verarbeiten, d.h. mit DCLF (Declare File) definieren und mit RCVF (Receive File) verarbeiten.

    Birgitta
    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
    Feb 2001
    Beiträge
    20.241
    CLP ist keine "HLL" und damit von SQL ausgeschlossen.
    Dafür musst du am besten einfach ein kleines ILERPG schreiben.
    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

  4. #4
    Registriert seit
    Mar 2011
    Beiträge
    94
    Ok. Danke für die Infos

  5. #5
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    Obwohl CL-Programme in der heutigen Zeit als ILE, also mit dem Attribut CLLE erstellt werden sollten, ist dies jedoch nicht die Voraussetzung, den CL-Befehl RUNSQL einzubinden.

    Sprich, RUNSQL kann auch in (alten) CLP-Programmen verwendet werden.

    Hier nochmal die Beschreibung des RUNSQL-Befehls:
    Using the RUNSQL CL command

    Birgitta
    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

  6. #6
    Registriert seit
    Nov 2003
    Beiträge
    2.307
    Mit OPNQRYF sollte so etwas gehen ...

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Da man aber einen DCLF dafür benötigt, ist das nicht so einfach.
    Außerdem gibt es hier einen anderen Thread, der ab V7R1 teilweise Probleme mit OPNQRYF meldet, da dieser ja die CQE statt der SQE verwendet.
    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

  8. #8
    Registriert seit
    Nov 2003
    Beiträge
    2.307
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Außerdem gibt es hier einen anderen Thread, der ab V7R1 teilweise Probleme mit OPNQRYF meldet, da dieser ja die CQE statt der SQE verwendet.
    Du meinst sicher dieses Thema.

    Da gibt's mit SQL selber noch viele andere Probleme ...

  9. #9
    Registriert seit
    Jun 2001
    Beiträge
    1.975
    Last edited by Robi; 02-04-14 at 09:25. Grund: noch ne möglichkeit
    Das Notwendige steht über dem technisch machbaren.
    (klingt komisch, funktioniert aber!)

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Da fällt mir auch noch REXX ein.
    Hier kann man CMD's (auch mit returnwerten) und SQL (mit Hostvariablen) lustig mischen, Funktionen (auch in "Copystrecken") mit Parametern und Returnwerten stricken und vieles mehr.
    Äußerst flexibel und von der Laufzeit nicht uninteressant, da man meist sowieso externe Funktionen/Programme aufruft.
    Sogar "Drucken" in eine SPLF klappt.
    Man kann sogar flexible Parameter übergeben.
    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

  11. #11
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    ... naja, mit QSHELL und dem db2 utility kann man da auch allerhand zurecht fummeln, aber vielleicht sollte man sowas doch lieber mit RPG oder einer richtigen HLL machen...

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

Similar Threads

  1. SQL0314, Host-Variable nicht eindeutig
    By gue_br in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 26-02-14, 15:40
  2. SQL insert mit variable
    By Robi in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 21-03-03, 09:16
  3. Variable
    By Henrik Motzkus in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 05-03-02, 09:13
  4. RUNSQL im CL-Programm
    By samik in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 31-01-02, 14:26
  5. ganzes Satzformat in Variable ?
    By hpw in forum IBM i Hauptforum
    Antworten: 5
    Letzter Beitrag: 15-10-01, 13:23

Berechtigungen

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