-
Seitenanzeige im Subfile
Hallo zusammen,
wenn ich in einem dynamisch gefüllten Subfile ein paarmal vorwärts blättere, dann rückwärts blättere und Datenfreigabe drücke, dann wird immer die Subfileseite angezeigt, die nach dem letzten Vorwärtsblättern gefüllt (und angezeigt) wurde.
Ich möchte aber, daß die jeweils aktuell angezeigte Seite auch nach Datenfreigabe angezeigt bleibt.
Was muß ich tun, damit nach dem Rückwärtsblättern, die Steuerung nicht durch das System sondern wieder durch das Programm erfolgt?
Gibt es eine Möglichkeit ähnlich wie bei den Funktionstasten (*INKx) zu prüfen, ob die Datenfreigabetaste gedrückt wurde?
vielen Dank für eure Hilfe.
-
Das Drücken von Enter löst einen READ/EXFMT immer aus.
Durch SFLCSRRRN(&CSRFIELD) kannst du die aktuelle Satznummer nach Enter gemeldet bekommen, durch SFLRCDNBR(CURSOR) setzt du den anzuzeigenden Satz.
Wenn du SFLRCDNBR(CURSOR) bereits verwendest, so ist dies die Ursache für die Positionierung nach Enter.
Diese Steuerung verwendet man normalerweise zur Fehlerpositionierung.
-
vielen Dank für den Tip. Ich hatte zwar SFLCSRRRN im Subfile definiert aber den zurückgegebenen Wert nicht in die Subfile-Recordnumber gestellt.
-
Aber Achtung:
Steht der Cursor bei Freigabe nicht in der Subfile wird 0 (*zero) zurückgemeldet.
Wenn du dies nicht berücksichtigst stürzt dein Programm ab.
In der INFDS gibts aber irgendwo die Nr. des 1. Satzes der aktuellen Seite.
-
Zitat von Fuerchau
Aber Achtung:
Steht der Cursor bei Freigabe nicht in der Subfile wird 0 (*zero) zurückgemeldet.
Wenn du dies nicht berücksichtigst stürzt dein Programm ab.
vielen Dank für die Info, hab beim Testen natürlich einen Absturz provoziert
Zitat von Fuerchau
In der INFDS gibts aber irgendwo die Nr. des 1. Satzes der aktuellen Seite.
die Satznummer des ersten Satzes der Subfileseite erhält man übrigens aus der INFDS Stelle 378 - 379
-
Zitat von Fuerchau
Aber Achtung:
Steht der Cursor bei Freigabe nicht in der Subfile wird 0 (*zero) zurückgemeldet.
Wenn du dies nicht berücksichtigst stürzt dein Programm ab.
Blöde Frage von mir: Wie berücksichtige ich dass? Wie muss ich das anders Definieren oder abfragen?
Ich hab ein Display mit Abfragedatum im CTL und ein Subfile zur Anzeige. Es stürzt ab, wenn das Subfile leer ist, aber wie verhinder ich dass nun?
Vielen Dank für die Antwort!!
-
Hallo,
ich weiß nicht, ob ich deine Frage korrekt verstanden habe. Aber ich denke, grundsätzlich geht folgendes:
Dein Programm füllt die SFL. Dabei zählst du mit, wie viele Sätze in die SFL gefüllt werden. (Ist kein Aufwand, du musst ja sowieso die Subfile-Record-Nr. hochzählen).
Abhängig davon, ob die SFL Sätze enthält, schaltest du SFLDSP auf *ON oder *OFF. Außerdem setzt die Record-Nr. für die Positionierung auf 0, wenn deine SFL keine Sätze enthält.
LG, Dieter
-
Hallo Dieter,
soweit ist es richtig, was du denkst.
Allerdings setzte ich den SFLDSP nicht abhängig davon, ob ich Subfile Sätze habe oder nicht.
Also ich SFL Steuerung gelernt habe, wurde uns beigebracht, dass SFLDSPCTL, SFLDSP und SFLCLR im Display mit den selben indikatoren immer zusammenhängen müssen, wobei der SFLCLR das N davor bekommt:
Code:
A 65 SFLDSPCTL
A 65 SFLDSP
A N65 SFLCLR
Und ich dann im Programm vor dem schreiben des Subfile einmal alles cleare:
Code:
if nRRN = 0;
nRRN = 1;
write Sfl1;
endIf;
SflClr = *OFF;
write CTL1;
SflClr = *ON;
SflClr ist hier mit der 65 von der INDDS des Display belegt.
Ich hatte jetzt einfach in das Display CTL noch SFLCSRRRN(&Var1) gepackt, beiden Hidden Felder VAR1 5S 0 und VAR2 4S 0 und VAR2 SFLRCDNBR(CURSOR) als funktion hinzugefügt. So wie ich es im Netz gefunden hatte und dann das ganze so eingebaut bevor ich das Display anzeige:
Code:
if Var1 > 0;
Var2 = Var1 ;
else;
Var2 = 1 ;
EndIf;
write HEADER;
write FOOTER;
exfmt CTL1;
Das funktionierte auch alles super, bis keine Daten gefunden werden (Suche mit Datum über eine Datei und habe fürs Wochenende bisher keine Einträge) und das SFL leer bleibt. Dann stürzt mir das Programm beim EXFMT CTL1 ab.
Dass es abstürzt wenn keine Daten fürs Subfile da sind, wusste ich auch bis vorhin nicht, da ich mit SFLCSRRRN und SFLRCDNBR zum ersten mal arbeite.
Die Frage ist jetzt, wie fange ich diesen Fehler ab?
-
Guck doch zunächst mal im Joblog, weshalb das Programm abstürzt.
-
Wenn eine Subfile leer ist, musst du die SFLDSP auf aus setzen.
Dann wird SFLRCDNBR ignoriert.
I.d.R. hast du SFLDSP und SFLDSPCTL getrennt per BZ.
Somit kannst du steuern, ob die SFL sichtbar ist oder nicht.
-
Wie bereits erwähnt, mir wurd bei gebracht SFLDSP und SFLDSPCTL immer mit der selben BZ zu versehen und das SFLCLR mit der Negativierten BZ von den beiden...
Aber ich versuchs mal alle drei zu trennen.
-
Danke.
Jetzt stürzt es schonmal nicht mehr ab. Allerdings leert sich meine Anzeige auch nicht mehr.
Wenn ich jetzt nach einem Tag suche, der keine Daten hat, werden die vorherigen Daten weiterhin angezeigt... Ich hab hin und her und her und hin gemacht mit dem SFLCLR..
Ich hab keine weitere Idee mehr.
Similar Threads
-
By christian_lettner in forum NEWSboard Programmierung
Antworten: 10
Letzter Beitrag: 01-09-10, 15:21
-
By Anette in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 24-07-06, 20:52
-
By borwegen in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 30-06-06, 09:04
-
By steven_r in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 22-05-06, 13:56
-
By Toschie in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 08-06-05, 14:21
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