-
SQL Cursor
Moin zusammen,
ich hab hier was recht verrücktes ...
ein SQLRPGLE Pgm macht (immer in der Reihenfolge)
close c1
declare c1 cursor for ...
open c1
Schleife:
fetch next from c1 into ...
verarbeiten
...
seton LR
Wird in dem Ablauf das Pgm zum 2. mal gerufen liest der fetch Daten des ersten Aufrufes
CloseCursor steht auf endactgrp, die endet zwischen 2 aufrufen NICHT
Aber der exlizite Close müsste doch greifen?
ne Idee?
Robi
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Hast Du den SQLCODE und/oder den SQLSTATE unmittelbar nach dem CLOSE und dem OPEN geprüft?
Ich könnte mir vorstellen, dass der CLOSE aus irgendeinem Grund nicht gemacht wird und deshalb auch der OPEN fehlschlägt und beim FETCH die nächsten Daten des Cursors liest.
Ansonsten müsste der explizite CLOSE greifen.
Birgitta
-
danke Birgitta,
SQLCOD ist 0,
SQLSTATE ist 02000
Den State habe ich nicht beachtet, wo steht was das bedeutet?
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
SQLSTATE ist 02000 = no row was fount
lt. Google
-
SQLCODE = 0 bedeutet eigentlich alles Okay und entspricht dem SQLSTATE = 00000.
SQLSTATE = 02000 heisst Record not found und entspricht dem SQLCODE = 100.
Wo,nach welchem SQL-Befehl hast Du denn den SQLCODE 0 und wo den SQLSTATE 02000? erst nach dem FETCH?
-
nö, nach dem close
Code:
C FILL_MDS BEGSR
C*EXEC SQL
C* CLOSE C1
C*END-EXEC
SQLER6 = 5; //SQL
IF SQL_00024 = 0; //SQL B01
SQLROUTE_CALL( //SQL 01
SQLCA //SQL 01
: SQL_00022 //SQL 01
); //SQL 01
ELSE; //SQL X01
SQLCLSE_CALL( //SQL 01
SQLCA //SQL 01
: SQL_00022 //SQL 01
); //SQL 01
ENDIF; //SQL E01
eval sqlca
--> sqlcode 0
--> sqlstate 02000
V7R3
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
... da bräuchte man schon das ganze Programm. Wenn der fetch in den Ofen geht und die Zielvariablen nicht initialisiert waren...
-
der fetch funktioniert ja
Es ist ein Subfile
Bsp.:
Anzeige 1
25 Sätze zu der gewählten Selektion
Anzeige 2. Aufruf
25 Sätze der gewählten Selektion und 1-5 Sätze der vorherigen
Das verstehe ich nicht
Werdem mir jetzt mal des sqlca mit einem ereignismerker in eine datei ausgeben um mehr infos zu bekommen.
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Frage:
Wenn Du jeweils das SQL-Statement separat (z.B. mit STRSQL oder ACS) ausführst, bekommst Du dann die richtigen bzw. erwarteten Daten?
Die Ausgabe-Felder sind auch vor dem 2. Fetch wirklich sauber initialisiert?
Kannst Du das SELECT-Statement mal posten?
-
Ja, einzelnd aufgerufen bekomme ich nur 'meine' Daten
Ablauf:
close
declare
open
fetch first
Schleife bis sqlcode <> 0: fetch next
(neu close
seton LR
der declare, schon mit und Ohne scroll versucht
Code:
WITH A AS(
SELECT CHGHIP.*, FERELE FROM CHGHIP, FELKAP WHERE
( CHKEYXX = :SUNRA OR
CHKEYXX = :SUNRB) AND
CHHERK <> 'EGA' AND
(CHFILE = 'SCHULP' OR
CHFILE = 'SCHUVP') AND
CHFILE=FEFILE AND CHFELD= FEFELD
AND (FEKORE = 1 OR FEKORE = 3) AND
SUBSTR(FERELE, 1, 2) <> 'S1' AND
SUBSTR(FERELE, 1, 2) <> 'S2'
) SELECT * FROM A
ORDER BY FERELE, CHFELD, CHDAEN DESC, CHKEYXX
der fetch (mal first mal next)
FETCH FIRST FROM C9 INTO :CHSATZ, :FERELE
CHSatz ist eine E DS auf ein PF
FERELE kommt aus der FELKAP die auch als E DS am Pgm ist
Robi
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Moin,
etwas ähnliches hatte ich auch mal. Cleare mal vorher deine EDS.
mfg
DKSPROFI
Similar Threads
-
By urrumpel in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 06-04-21, 16:35
-
By camouflage in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 29-05-20, 14:42
-
By tarkusch in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 15-11-19, 12:16
-
By woodstock99 in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 01-11-16, 11:47
-
By Tschabo in forum NEWSboard Programmierung
Antworten: 11
Letzter Beitrag: 23-10-16, 19:12
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