View Full Version : SQL-Abfrage RRN
Hallo,
habe folgendes Statement im Sql direkt aufrufen können und auch Sätze dafür bekommen.
SELECT RRN(A),
A.* FROM ZW1EXT A WHERE (.....)
ORDER BY (....)
aber selbiges Sql-Satement in ILERPG eingebaut bekomme ich die Fehlermeldung(SQLSTT = '22003' )
SQL0304 SQLCODE -304 SQLSTATE 22003, 22023, 22504
Explanation: Conversion error in assignment to host variable &2.
Kann mir da jemand einen Hinweis geben?
Gruß
Tarki
Beim Fetch into kannst du nur
a) genau eine Struktur
b) alle Felder einzeln
angeben.
Das 2. Zielfeld ist wohl eine Struktur und das passt nicht zum 2. Ergebnisfeld.
aber, wenn ich alle Felder einzeln angebe bekomme ich die Fehlermeldung +30
SQL0030 SQLCODE +30 SQLSTATE 01503
Explanation: Number of INTO host-variable incorrect.
Was ist eigentlich mit a) genau in eine Struktur gemeint?
Gruß
Tarki
andreaspr@aon.at
19-11-12, 09:51
Beim Fetch into kannst du nur
a) genau eine Struktur
b) alle Felder einzeln
angeben.
Das 2. Zielfeld ist wohl eine Struktur und das passt nicht zum 2. Ergebnisfeld.
Dem möchte ich widersprechen!
Bei einem FETCH INTO kannst du n Strukturen und/oder n Felder angeben.
Die DS wird sowieso aufgelöst. Du kannst also davor oder danach beliebig viele weiter Felder oder DS angeben.
Wichtig dabei ist nur, dass du auf die Reihenfolge achtest, dass die mit dem Ergebnis des Cursors übereinstimmt.
lg Andreas
so jetzt ist es mir klar mit der Struktur.
ich fetche in folgende Struktur:
D MyDS E DS ExtName(ZW1EXT)
gibt es da eine Möglichkeit das RRN noch irgendwie anzuhängen oder zu manupulieren oder muss ich wirklich jedes einzelne Feld angeben?
andreaspr@aon.at
19-11-12, 09:56
Dein Beispiel müsste ca. so aussehen:
D ZW1EXTDS E DS extname(ZW1EXTDS)
D vRRN S 10I 0
/Free
Exec Sql Declare c1 Cursor For SELECT RRN(A),
A.* FROM ZW1EXT A WHERE (.....)
ORDER BY (....);
Exec Sql Open C1;
Exec Sql Fetch C1 Into :ZW1EXTDS, :vRRN;
/End-Free
Danke, danke und noch einmal danke!
Funktioniert alles wie geschmiert.
Beim Fetch into kannst du nur
a) genau eine Struktur
b) alle Felder einzeln
angeben.
Das 2. Zielfeld ist wohl eine Struktur und das passt nicht zum 2. Ergebnisfeld.
Wer hat Dir den das erzählt?
Beim Fetch kannst Du natürlich zwischen einzelnen Ausgabe-Feldern und einer und mehreren Datenstrukturen. Die einzige Voraussetzung ist, dass die Anzahl der Felder identisch ist und dass die Datentypen kompatibel sind!
Sorry Andreas, ich hatte Deinen Kommentar nicht gesehen!
Birgitta
Ist wohl wieder mal Releaseabhängig ?
Ist wohl wieder mal Releaseabhängig ?
Wenn Du damit Release 2.3 oder 3.7 meinst vielleicht! Aber ich habe das so schon vor fast 20 Jahren eingesetzt
Birgitta