Anmelden

View Full Version : embedded SQL in ILE RPG, UPDATE



Zupfl50
05-10-04, 09:43
Hallo liebe rlp-Forumleute,ffice:office" /><O:p></O:p>

kann man mir weiterhelfen?
<O:p></O:p>
Ich versuche mich mit embedded SQL und ILE RPG und scheitere beim UPDATE.<O:p></O:p>
0026.00 *** Update der Datei empmst03 ffice:office" /><O:p></O:p>

0027.00 ***----------------------* <O:p></O:p>

0028.00 C/EXEC SQL <O:p></O:p>

0029.00 C+ UPDATE empmst03 SET ETYPE = :HTYPEC <O:p></O:p>

0030.00 C+ WHERE ETYPE = :HTYPEY <O:p></O:p>

0031.00 C/END-EXEC <O:p></O:p>


Im Anhang (rlp20041005) habe ich einen Auszug des ILE RPG-Programms mitgeschickt aus dem ersichtlich wird, wie ich die Befehle geschrieben habe.<O:p></O:p>

Als SQL per STRSQL klappt die Geschichte.<O:p></O:p>

Danke schon mal im Voraus<O:p></O:p>

Viele Grüße<O:p</O:p

Volker<O:p</O:p

<O:p</O:p

fred_hanau
05-10-04, 11:57
Hallo Volker,
der Befehl als solches ist ok.
Frage: Scheitert denn der update oder der commit ?

Gruß aus Hanau

B.Hauser
05-10-04, 15:43
Hallo Volker,

es wäre wichtig zu wissen, welcher SQLCOD oder SQLSTT von welchem SQL statement zurückgegeben wird.

Ansonsten kann man nur irgendwelche Vermutungen anstellen.

Birgitta

Zupfl50
05-10-04, 16:12
Hallo Volker,

es wäre wichtig zu wissen, welcher SQLCOD oder SQLSTT von welchem SQL statement zurückgegeben wird.

Ansonsten kann man nur irgendwelche Vermutungen anstellen.

BirgittaHallo Brigitta,

Danke für den Hinweis, hier die Fehlercodes:

Nach SQL UPDATEffice:office" /><O:p></O:p>

SQLSTT = '55019'<O:p></O:p>

SQLERL = 0026. <O:p></O:p>

SQLCOD = -000007008.<O:p></O:p>

SQLWRN = ' '<O:p></O:p>


Viele Grüße
Volker

B.Hauser
05-10-04, 16:18
Hi Volker,

SQLCOD -7008 bedeutet:
&1 in &2 für Operation ungültig

In SQLERM müssten die Platzhalter zurückgegeben werden.
Schau mal nach, was in diesem Feld steht.

Das deutet eigentlich darauf hin, dass Du Deine Datei unter commit updaten willst, jedoch die Datei nicht im Journal registriert ist.

Birgitta

Zupfl50
05-10-04, 17:13
Hi Volker,

SQLCOD -7008 bedeutet:
&1 in &2 für Operation ungültig

In SQLERM müssten die Platzhalter zurückgegeben werden.
Schau mal nach, was in diesem Feld steht.

Das deutet eigentlich darauf hin, dass Du Deine Datei unter commit updaten willst, jedoch die Datei nicht im Journal registriert ist.

BirgittaHallo Brigitta,

COMMIT-Steuerung ist der Grund. "SQL ILE RPG-Objekt erstellen (CRTSQLRPGI)"

Ich habe bei der Umwandlung
COMMIT-Steuerung *NONE als Parameter eingetragen,
neu umgewandelt. Das Programm aufgerufen und jetzt klappt der Update!!! :D

Vielen Dank für die Hilfe
Gruß Volker

Fuerchau
06-10-04, 09:07
Dies geht auch (da bei der Umwandlung häufig vergessen) mit:
/exec SQL set option commit=*none
/end-exec

fred_hanau
06-10-04, 10:25
/exec SQL set option commit=*none
/end-exec


Wieder was dazugelernt :eek: :D

Gruß aus Hanau

Zupfl50
06-10-04, 21:04
Danke für den Tipp :)
Viele Grüße
Volker