PDA

View Full Version : Cursorverschiebung durch Update?



ILEMax
27-03-12, 14:56
Hallo
(V7R1)

ich habe hier eine View auf 3 Dateien, die mit SQL (fetch next) gelesen wird.
Eine der 3 Dateien ist zusätzlich mit dem gekeyten PF an dem Programm.
Die gekeyte PF wird per Chain gelesen und als Update geschrieben.

zusätzlich wird die gekeyte PF, im Fehlerfall, per SQL Update zurück gesetzt. (Quasi ein händisch programmierter Rollback)

Erschwehrend(so wurde mir gesagt) kommt hinzu, das alle Dateien mit share(*yes) erzeugt wurden.

Durch den Update werden 2 Order by Felder der View geändert.

Aus irgend einem Grund liest der Fetch next nicht den nächsten Satz, sondern überspringt einige.

Der Cursor ist so definiert
DECLARE C1 SCROLL CURSOR FOR SE_FLD1

Was muß ich machen um die Lesefolge einzuhalten?

Danke
Der ILEMax

Fuerchau
27-03-12, 15:31
Durch Share beeinflusst du natürlich den Cursor durch andere EA-Operationen, da SQL und native Zugriff den selben ODP verwenden.
Den Cursor müsstest du dann eher als "insensitive" deklarieren, damit ein eigener ODP geöffnet wird.
Ausserdem ist wohl ein Scroll-Cursor nicht erforderlich, wenn du nur vorwärts liest.