Anmelden

View Full Version : RUNSQLSTM in einem CL mit einer Variabel



Q_SERVER
07-03-11, 18:26
hallo forum, ich möchte gerne in einem CL (mehr kann ich und meine maschine leider nicht...) ein RUNSQLSTM aufrufen, dass in einer datei einen bestimmten wert in ein feld schreibt. ich mach' vorher DCL, dann RTVJOBA und weil ich es nicht besser weiß, stelle ich diesen wert in einer DTAARA ab:

0010.02 DCL VAR(&USER01) TYPE(*CHAR) LEN(10) /* +
0010.03 Ermittlung des angemeldeten Users */
0010.04 RTVJOBA CURUSER(&USER01)
0010.05 CHGDTAARA DTAARA(FINPAC_SYS/USER) VALUE(&USER01)

so, jetzt soll ein RUNSQLSTM über die datei bügeln und den wert aus der DTAARA in ein feld schreiben:

0002.60 UPDATE FINPAC_DAT/ERFIBUP SET ERFERF = &USER01 WHERE ERFERF = ' '

offensichtlich geht das so nicht. in worte gefasst: ich möchte, dass der aktuelle user ermittelt wird und dann in eine datei in ein bestimmtes feld geschrieben wird, wenn dieses leer ist. geht das mit CL und RUNSQLSTM überhaupt? bitte um eure hilfe! DANKE!!!!!

Q_SERVER
07-03-11, 22:51
tja, wer lesen kann, ist auch hier deutlich im vorteil!!! ich habs jetzt so gelöst:

UPDATE FINPAC_DAT/ERFIBUP SET ERFERF = USER WHERE ERFERF = ' '

der weg, über das abstellen in einer DTAARA ist viel zu kompliziert für meine anwendung - so geht's prima!!! der angemeldete user wird ermittelt und im CLLE über das RUNSQLSTM in das file an die richtige stelle geschrieben! sehr dirty, aber quick! :cool:

Pikachu
08-03-11, 08:11
RUNSQLSTM unterstützt soweit ich weiß keine Parameter. Eine Möglichkeit wäre eine QM-Query und ein STRQMQRY mit Parameter.

Q_SERVER
08-03-11, 11:10
prima, das problem ist ja jetzt auch gelöst, aber ein neues taucht auf: wie sieht die syntax im LSTM aus, wenn ich kommentare einbauen möchte? so, wie im CL (mit /* my comment /*) geht es wohl nicht...:confused:

Fuerchau
08-03-11, 11:12
SQL-Kommentare beginnen mit "--" und gehen dann bis zum Ende der Zeile:

update myfile -- Kommentar
set ... -- Kommentar
where ... -- Kommentar

Q_SERVER
08-03-11, 11:20
danke, kan ich 'was im SQLSTM aubauen, muss das dann alles mit -- beginnen?

/************************************************** ******************************/
/* PROGRAM....: mylib / mypgm */
/* CALL.......: direkt */
/* SOURCE.....: mylib/mysource */
/* ZWECK......: CALL von mylib/mypgm */
/* ERSTELLT...: mr spock */
/* DATUM......: 08.04.2009 */
/* ÄNDERUNGEN.: */
/************************************************** ******************************/

Fuerchau
08-03-11, 11:22
Wei gesagt, was mit "--" beginnt ist Kommentar. Du kannst also auch folgendes tun:

-- Zeile 1
-- Zeile 2
--
-- Zeile n
SQL-Befehl