View Full Version : 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
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
CLP ist keine "HLL" und damit von SQL ausgeschlossen.
Dafür musst du am besten einfach ein kleines ILERPG schreiben.
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 (http://pic.dhe.ibm.com/infocenter/iseries/v7r1m0/index.jsp?topic=%2Fsqlp%2Frbafyrunsql.htm)
Birgitta
Mit OPNQRYF sollte so etwas gehen ...
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.
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 (http://www.newsolutions.de/forum-systemi-as400-i5-iseries/threads/19008-OPNQRYF-im-RPG-Programm-durch-SQL-ersetzen).
Da gibt's mit SQL selber noch viele andere Probleme ...
oder so:
http://www.code400.com/forum/showthread.php/6827-QSH-to-Environment-Vars
oder, etwas anders, hier
http://forums.iprodeveloper.com/forums/aft/53254
Robi
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.