View Full Version : Dynamische SQL in RPG
Hallo zusammen ich habe eine Datei die 12 Monatsfelder hat und ich benötige für jedes Monat nach beendigung von diesem eine Auswertung.
Ich möchte hierzu ein SQLRPGLE erstellen,
meine frage kann ich die feldauswahl variabel gestalten:
hier ein kleines Beispiel
c+ declare c1 cursor for select
c+ menge1, ..............
c+ FROM umsatzdatei
c+ order by menge1
wobei das Feld menge1 variabel sein soll.
danke im voraus
redsky
Dies geht nicht über einen "declare cursor for select" sondern über einen "declare cursor for MyStmt" mit anschliessendem "prepare MyStmt from :MySql". Die Variable MySql ist vorher mit dem Select aufzubereiten. Der Rest (Open/Fetch/Close) kann dann so bleiben.
danke für die schnelle Antwort,
blicke irgendwie nicht durch,
hast du vieleicht ein codebeispiel?
bin ziemlich neu auf diesen gebiet.
danke im voraus
redsky
Hallo Redsky,
1. Du erstellst das SQL-Select-Statement als String.
MySQLStm = 'SELECT ..... '
2. Du generierst ein ausführbares SQL-Statement über den SQL Prepare-Befehl:
/EXEC SQL Prepare MySQLCmd from :MySQLStm
/END-EXEC
3. Du deklarierst einen Cursor, in dem Du statt des SQL-Statements den aufbereiteten SQL-Command angibst:
/EXEC SQL Declare MyCursor For MySQLCMD
/END-EXEC
4. alles andere kann bleiben wie bisher
Solltest Du Literatur über Embedded SQL suchen, schau Dir Kapitel 7 in dem folgenden Redbook an:
Modernizing IBM eServer iSeries Application Data Access - A Roadmap Cornerstone (http://www.redbooks.ibm.com/abstracts/sg246393.html?Open)
Birgitta
danke ich habs schon geschaft
mfg
redsky