Anmelden

View Full Version : Blättern beim SFL beginnt am ende von vorne



Andreas_Prouza
10-10-24, 15:36
Hallo,

hat kennt jemand vielleicht warum ein SFL, wenn es beim Blättern das Ende erreicht, einfach von vorne anfängt?
Bei allen anderen SFLs bleibt er am Ende stehen.
Bei diesem SFL ist lediglich der Unterschied, dass ich dort mit den Cursor-Attributen herumspiele:


A RTNCSRLOC(&CRSRCD &CRSFLD &CRSPOS)
A SFLCSRRRN(&CRSRRN)
A DSPREC 4S 0H SFLRCDNBR(CURSOR)
A CRSLIN 3S 0H
A CRSCOL 3S 0H
A CRSRRN 5S 0H
A CRSRCD 10A H
A CRSFLD 10A H
A CRSPOS 4S 0H



Wenn ich mit dem Cursor im SFL stehe, bleibts beim Blättern stehen.
Steht der Cursor jedoch im CTL-Teil, gibts endloses Blättern.

Danke schon mal!
lg Andreas

Andreas_Prouza
10-10-24, 15:54
Es scheint, dass mit der letzten Seite das DSPF ins Programm zurück springt und dort wird dann das SFL neu befüllt.

Fuerchau
10-10-24, 16:03
Mittels SFLEND bestimmst du, dass am Ende kein Programmaufruf mehr stattfindet.
Wenn du es ohne BZ angibst, musst du direkt die SFL komplett füllen.
Mit BZ kannst du seitenweise füllen und wenn du fertig bist, setzt du die BZ an.

Andreas_Prouza
10-10-24, 16:12
Danke dir für den Input!

Ich habe hier gerade gesehen, dass hier zusätzlich auch noch PAGEUP und PAGEDOWN verwendet werden.
Ohne dem funktioniert es wie gewohnt, mit dieser Angabe startet das Blättern wieder von vorne.

Andreas_Prouza
10-10-24, 16:42
Also ich habe es jetzt so hinbekommen, dass es beim PAGEDOWN und PAGEUP nicht weiter loopt.
Eigentlich fände ich die klassische Meldung der IBM "Bild auf oder ab nach dem ersten bzw. letzten Datensatz der Datei." ganz nett, scheinbar muss man das bei Verwendung der PAGEDOWN/UP manuell machen.

Danke jedenfalls!

Fuerchau
10-10-24, 17:02
Das ist auch im Kontext von SFLEND zu sehen.
Wird dies gesetzt, erscheint die Blätterfehlermeldung automatisch.
Mit Pagedown/Pageup will man ja u.U. eben selber das Blättern mittels SFLRCDNBR steuern.
Wenn z.B. SFLSIZ = SFLPAG ist, kann man seine Seiten per dynamischen scrollable Cursor selber steuern und erhält auch noch aktuelle Daten.
Wenn man den Anfang erreicht, setzt man Pagedown auf Off, dann kommt beim Rückwärtsblättern wieder die Meldung, kommt man ans Ende, setzt man Pageup auf aus.
Wenn man das System blättern lassen will, braucht man Pageup/-down gar nicht sondern nur SFLEND.

Andreas_Prouza
11-10-24, 05:53
Vielen Dank Baldur! Das erklärt es sehr gut und hilft mir weiter.