Anmelden

View Full Version : CL Variable an SQL übergeben



Jenne
13-08-04, 09:29
Hallo Kollegen,
ich habe ein CL-Programm in dem ich ein SQL-Statement mit RUNSSQLSTM aufrufe.
Ich möchte an dieses Statement eine CL-Variable (Datum) übergeben. Entweder Tagesdatum oder Tagesdatum -1 (wenn nach 24 Uhr). Kennt jemand eine Möglichkeit ?

Vielen Dank im Voraus
Jenne

Rincewind
13-08-04, 09:37
Hi,

Variablen kann man doch ganz einfach an das SQL übergeben..

STRQMQRY QMQRY(NAMEDESSQLS) OUTPUT(*OUTFILE)
OUTFILE(QTEMP/WRK) SETVAR((DATUMAKT
&DAAKT))


Das tagesdatum kann man mit
RTVSYSVAL SYSVAL(QDATE) RTNVAR(&DATAKT)
bekommen.

Die Uhrzeit mit RTVSYSVAL QTIME.. der rest sollte einfach sein :)


Rince


/edit
Oha gerade gesehen du meinst den RUNSQLSTM..
Ob das da auch geht weiss ich nicht, aber man kann ja auch das SQL Statement in eine QMQRY umsetzen

Fuerchau
13-08-04, 10:18
Mittels RUNSQLSTM können keine Variablen übergeben werden.
Du kannst aber das SQL mittels QM-Objekt (STRQM) als SQL erstellen.
Parameter werden wie in CL mittel "&parm" definiert und werden mittels SETVAR des STRQMQRY gesetzt.
Wichtig ist, bei Alphafeldern den Wert in Hochkomma zu setzen.
Beispiele findest du hier im Forum (Stichwort STRQMQRY).

Jenne
23-08-04, 10:45
Danke für die Hilfe,
mittels STRQMQRY hat es funktioniert!

MfG
Jenne