Anmelden

View Full Version : RUNSQL im CL mit Parametern



petra1
13-07-05, 13:50
Hallo,
ich versuche im CL mit RUNSQL das Feld ARTNR in der Datei Afrika mit dem Feldwert ARTNRNEU zu verändern
Wenn ich den neuen Feldwert konstant eingebe, funktioniert das auch - da ich dieses aber mit mehreren Datensätze erledigen muß, möchte ich den Feldwert als Variable deklarieren:

0002.00 PGM PARM(&ARTNRNEU)
0003.00
0004.00 DCL VAR(&ARTNRNEU) TYPE(*DEC) LEN(10 0)
0006.00
0007.00 RUNSQL REQUEST('UPDATE werner/afrika SET ARTNR = +
0008.00 &ARTNRNEU')
0009.00
0010.00 ENDPGM

ES erscheint fogende Fehlermeldung:

Token & ungültig. Gültige Token: ( + - ? : DAY RRN CASE CAST CHAR DATE
DAYS HASH HOUR LEFT NULL.
Befehl RUN für Objekt QUERY mit SQLCODE -104 fehlgeschlagen.
Befehl RUN QUERY aufgrund eines Fehlers beendet.
Befehl STRQMQRY fehlgeschlagen.


Was ist an dem Befehl falsch?

Vielen Dank für Eure Hilfe
Gruß
Petra

Fuerchau
13-07-05, 14:01
Du musst den Befehl mit *CAT dann zusammenbauen oder direkt als QM-Query erstellen und dann mittels STRQMQRY ... SETVAR arbeiten.

petra1
13-07-05, 14:28
Du musst den Befehl mit *CAT dann zusammenbauen oder direkt als QM-Query erstellen und dann mittels STRQMQRY ... SETVAR arbeiten.

Hallo,
Danke für Deine Antwort
*CAT hatte ich auch schon probiert


RUNSQL REQUEST('update werner/afrika set artn = +
*cat &artnrneu *cat')

Token * ungültig. Gültige Token: ( + - ? : DAY RRN CASE CAST CHAR DATE
DAYS HASH HOUR LEFT NULL.
Befehl RUN für Objekt QUERY mit SQLCODE -104 fehlgeschlagen.
Befehl RUN QUERY aufgrund eines Fehlers beendet.
Befehl STRQMQRY fehlgeschlagen.


STRQMQRY im CL kenn ich leider gar nicht und bin ansonsten auch ein Neuling

petra1
13-07-05, 14:36
so gehts jetzt:


PGM PARM(&Artnrneu)

DCL VAR(&artnrneu) TYPE(*CHAR) LEN(10)

RUNSQL REQUEST('UPDATE werner/afrika SET artnr = +
''' *CAT &artnrneu *CAT '''') /* */

ENDPGM

Fuerchau, vielen Dank für Deine Hilfe !

Petra