Zitat Zitat von Fuerchau Beitrag anzeigen
Da gibt es unterschiedliche Wege.
Sicherlich kann man dies "performant" gestalten, dass man nur soviele Daten liest, wie gerade vorwärts geblättert wird.
Blättert der Anwender nicht, brauchen auch die Daten nicht gelesen werden.

Hierfür benötigt man natürlich eine BZ für PAGEDOWN, PAGEUP läuft automatisch.

Ich mache dies dann so:

99 PAGEDOWN(99)
N99 SFLEND

Solange noch Daten vorhanden sind, setze ich BZ99=*ON.

Bin ich am Ende, setze ich BZ99=*OFF.
Dadurch weiß die SFL, dass dahinter nichts mehr kommt und meldet dem Programm auch die PAGEDOWN nicht mehr. Das Blättern in beide Richtungen funktioniert natürlich weiterhin.

Die Frage ist immer, ob sich das in der Performance tatsächlich auswirkt.

Erwarte ich weniger als z.B. 500 Sätze, und die Zugriffe sind sowieso schnell, kann ich die SFL sofort komplett füllen.

Kann der Bediener aber über ggf. mehrere 1000 Sätze (max. 9999) blättern, ist natürlich die Frage ob man Daten, die man sich nicht ansieht, überhaupt zur Verfügung stellen soll.
Hätte hierzu mal noch ne Frage:
Beim Füllen der Subfile darf ich dann ja nur soviel Sätze einlesen wie SFLPAG groß ist oder?

-Mache ich das dann mit Do (z.B. SFLPAG) oder wie macht ihr das?

-Habe gesehen dass manche für SFLSIZ 9999 angeben und nicht SFLPAG + 1.
Wozu ist das gut? Ist ja praktisch das gleiche oder?