-
Danke für die Antwort.
Wenn mehr als 5 Datensätze vorhanden sind, werden diese ebenfalls zurückgegeben.
Aktuell habe ich ca. 1000 Datensätze die alle zurückgegeben werden.
Wobei es später definitv weniger sein werden, da nach der Verarbeitung die Tabelle leer gemacht wird.
Das ganze soll eine Schnittstelle zu einem anderem Anbieter sein.
Dieser benötigt von uns Daten und kann NUR ein SQL-Result verarbeiten.
Daher dieser ganze kram.
Du sagtest in diesem Fall ja.
Gibt es noch eine andere Möglichkeit?
Also aus der Verarbeitung heraus ein SQL-Result zu erhalten?
Jeder Rat ist gut =)
-
Ok glaub ich habs
wenn ich
Code:
C*****/EXEC SQL
C*****+ SET RESULT SETS FOR RETURN TO CLIENT ARRAY :RESULTS FOR :X ROWS,
C*****+ CURSOR C1
C*****/END-EXEC
Auskommentieren, dann bekomme i nur ein Result
So wie ich es haben wollte =)
-
Hi,
wenn das RPG nur ein SQL enthält um Daten als Resultset
zu liefern, dann lass doch das RPG weg.
In der SQL Procedure kannst Du den select direkt eintragen.
Gruß
Michael
-
@mk: Danke für den Hinweis.
Das RPG macht nachher schon noch mehr Sachen. Ich habe das Programm zum Testen jetzt erstmla recht klein gehalten.
-
Wenn du nur die Daten des Cursors zurückgeben willst, brauchst du in deinem RPGle eigentlich nichts machen und schon gar nicht den Cursor lesen (Fetch), da sonst der Aufrufer nichts bekommt (Fetch Only).
Veränderst du die Daten um die geänderten Daten des Array's zurückzugeben, so lass das
"CURSOR WITH RETURN TO CLIENT" weg, da du ja das Array zurückgeben willst und mach zum Schluss einen "Close".
Bei wiederholten Aufrufen der Prozedur ist ggf. ein "Close" vor dem "Open" erforderlich da der Cursor noch offen sein kann.
-
Ok das sieht super aus =)
Danke für die Unterstützung.
-
 Zitat von Toschie
Ok glaub ich habs
wenn ich
Code:
C*****/EXEC SQL
C*****+ SET RESULT SETS FOR RETURN TO CLIENT ARRAY :RESULTS FOR :X ROWS,
C*****+ CURSOR C1
C*****/END-EXEC
Auskommentieren, dann bekomme i nur ein Result
So wie ich es haben wollte =)
Die Ausgabe über SET RESULT SETS ist bereits seit Release V5R1 nicht mehr erforderlich. Das Result-Set wird allein dadurch ausgegeben, dass der Cursor vor Programm/Prozedur-Ende geöffnet und nicht geschlossen wird.
Birgitta
-
@Birgitta
Aha, und wie soll dann das Array und nicht der Cursor zurückgegeben werden?
-
Man kann natürlich weiterhin Arrays über SET RESULT SETS ausgeben und den Cursor vor Programm-Ende schließen. Nur warum sollte man 2 Schritte machen, wenn nur ein einziger notwendig ist?
Außerdem kann ein Array nur eine bestimmte Anzahl an Elementen zurückgeben, während über einen geöffneten Cursor eine unbestimmte Anzahl an Elementen ausgegeben werden kann.
Birgitta
-
Dann les doch besser mal die Aufgabenstellung:
"Das RPG macht nachher schon noch mehr Sachen"!
Nur mit dem Cursor scheint es da wohl nicht getan.
Similar Threads
-
By msost in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 22-01-13, 09:27
-
By loeweadolf in forum IBM i Hauptforum
Antworten: 11
Letzter Beitrag: 06-11-06, 15:05
-
By rolf in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 14-10-05, 17:06
-
By Muchi in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 23-03-05, 08:04
-
By BUG in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 18-10-04, 13:55
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks