[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Oct 2007
    Beiträge
    30

    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.

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Oct 2007
    Beiträge
    30
    vielen Dank für den Tip. Ich hatte zwar SFLCSRRRN im Subfile definiert aber den zurückgegebenen Wert nicht in die Subfile-Recordnumber gestellt.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    Oct 2007
    Beiträge
    30
    Zitat Zitat von Fuerchau Beitrag anzeigen
    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 Zitat von Fuerchau Beitrag anzeigen
    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

  6. #6
    Registriert seit
    Mar 2017
    Beiträge
    12
    Zitat Zitat von Fuerchau Beitrag anzeigen
    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!!

  7. #7
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    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

  8. #8
    Registriert seit
    Mar 2017
    Beiträge
    12
    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?

  9. #9
    Registriert seit
    Jan 2012
    Beiträge
    1.120
    Guck doch zunächst mal im Joblog, weshalb das Programm abstürzt.

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    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.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  11. #11
    Registriert seit
    Mar 2017
    Beiträge
    12
    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.

  12. #12
    Registriert seit
    Mar 2017
    Beiträge
    12
    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

  1. Subfile - Feld anzeigen
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 01-09-10, 15:21
  2. Cursor in Subfile - Cobol
    By Anette in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 24-07-06, 20:52
  3. KEYED DATA QUEUES SUBFILE DESCEND RPGLE
    By borwegen in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 30-06-06, 09:04
  4. Subfile Drop
    By steven_r in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 22-05-06, 13:56
  5. Subfile aus einer Subfile?
    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
  •