[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Oct 2001
    Beiträge
    26

    Angry Probleme bei SFLDROP

    Hallo Forum,

    Ich habe ein Problem in einer BS-Datei mit SFLDROP Funktion

    Pro Subfileseite sind 8 Zeilen möglich.
    Pro Subfilesatz sind 4 Zeilen definiert

    Mit SFLDROP kann man die Subfile aufblättern, wobei dann
    nur noch 2 Datensätze (a 4 Zeilen pro Satz) auf der Seite angezeigt werden.

    Das ist soweit ja o.k.

    Das Problem ist aber ....

    ich habe aber in der aufgeblätterten Subfile Eingabefelder
    definiert die geändert werden sollen.

    Wenn der Cursor jetzt z.B. auf der ersten Seite im 3. Subfilesatz
    steht und SFLDROP gedrückt wird, dann blättert die Subfile auf
    aber der Cursor bleibt an der Stelle der Ursprüngliche Anzeige
    stehen.

    Das heißt um an die aufgeblätterten Eingabefelder des 3. Subfilesatzes zu kommen muß der Anwender einmal vorblättern weil der 3.aufgeblätterte Subfilesatz nicht mehr auf der ersten Seite steht sondern auf der 2. Seite.

    Gibt es eine Möglichkeit den Cursor so zu positionieren dass er in der aufgeblätterten Anzeige in dem gleichen Datensatz erscheint wie in der ursprünglichen Anzeige ?

    Ich hoffe ich habe das jetzt einigermaßen verständlich rübergebracht.

    Gruß
    Helmut
    Helmut Haupt

  2. #2
    Registriert seit
    May 2002
    Beiträge
    1.121
    hallo helmut,

    ich denke es muesste mit SFLRCDNBR gehen.
    schau auch mal in den Beitrag
    vor ein paar wochen. da hatte ich etwas ähnliches

    gruß ronald

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.296
    Naja, ganz so einfach ist das leider nicht, da bei SFLDROP das Programm normalerweise nicht aktiviert wird.
    Man muss die Steuerung also selbst übernehmen.
    Die Schlüsselworte SFLDROP/SFLFOLD müssen mit Bezugszahl definiert werden, damit man sie gezielt ansteuern kann.
    Eine 1-stellige Programmübergabe-Variable mit SFLMODE liefert den aktuellen Stand (gefaltet, geöffnet).
    Mit SFLCSSRRN bekommt man die aktuelle Satznummer des Cursors.
    Die Funktionstaste für SFLDROP muss vom Programm ausgewertet werden (also keine Zuordnung der Taste).
    Drückt der Anwender nun die Taste, wird über SFLMODE festgestellt, wie der Modus nun zu ändern ist.
    Per SFLRCDNBR kann mit Ansteuerung der Bezugszahl für SFLDROP/SFLFOLD die Anzeige wiederhergestellt werden.
    Bleibt nur noch das Problem der Cursorpositionierung.
    Default steht der Cursor auf dem 1. Feld des SFL-Satzes. Möchte man nun auf einem bestimmten Feld positionieren, kann man das mit DSPATR(PC) erreichen, aber:
    Man bedenke, dass nur der 1. DSPATR(PC) wirkt. Wenn also mehrere SFL-Sätze noch das DSPATR(PC) enthalten, wird ggf. auf dem falschen Satz positioniert, was insbesonders beim Blättern stört (der Cursor springt durch die Gegend).
    Lösung:
    Per Schleife alle SFL-Sätze bearbeiten und das DSPATR(PC) zurücksetzen (Bezugszahl) und gezielt für den ausgewählten Satz wieder setzen.
    Allerdings: Blättert der Benutzer nun, steht der Cursor ggf. auf der falschen Stelle (er bleibt ja erstmal stehen). Der Benutzer versetzt den Cursor und blättert wieder zu dem Satz mit DSPATR(PC) zurück/vor und schon steht der Cursor wieder auf dem Feld.
    Auch hier hilft nur, das Blättern selbst in die Hand zu nehmen und das DSPATR(PC) zurückzusetzen (unter Beachtung des akt. SFLMODE und damit der Anzahl sichtbarer Sätze pro Seite).

    Die andere Alternative ist hier dann CSRPOS, was allerdings bedeutet, dass die Cursorpositionen der Felder im Programm zu jeder Zeit bekannt sein müssen und das Setzen des Cursors IMMER damit erfolgen muss (bezogen auf das Satzformat).
    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

  4. #4
    Registriert seit
    Oct 2001
    Beiträge
    26
    Danke erstmal für die ausführliche Schilderung.

    Ich dachte mir schon dass das über das bezugszahlengesteuerte SFLDROP nicht geht da das Programm ja bei gedrücktem SFLDROP stehenbleibt und man die Bez.Zahl nicht abfragen kann.

    Aber der Vorschlag hat mir schon weitergeholfen.

    Vielen Dank nochmal

    Helmut
    Helmut Haupt

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.296
    Die Bezugszahl für SFLDROP weiß dass Programm doch selbst und den aktuellen Stand bekommt man über SFLMODE.
    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

Similar Threads

  1. probleme file ins IFS stellen
    By steven_r in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 30-01-07, 07:48
  2. Probleme mit V5R3M5
    By heini in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 12-12-06, 11:42
  3. Probleme mit BS Installation
    By v4i in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 08-11-06, 10:03
  4. SQL-Performance Probleme ODBC
    By berndl in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 13-10-06, 09:28
  5. IFS als Netzlaufwerk - Probleme bekannt?
    By kuempi von stein in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 19-07-06, 13:14

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •