[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Dec 2005
    Beiträge
    131

    Question Sortieren von Subfiles

    Hallo Forum,

    gibt es die Möglichkeit, eine mit RPG/400 programmierte Subfile (mit SDA) über die Spaltenköpfe sortieren zu lassen?

    Ich habe mal irgendwo etwas gelesen, dass es mit Datenwarteschlangen oder so funktionieren soll. Aber a) fand ich da nichts näheres zu und b) konnte mir keiner ein Beispiel nennen/geben.

    Wenn also jemand eine Lösung weiß, die nicht mit Workdateien, Feldgruppen o.ä. zu tun hat...BITTE MELDET EUCH

    DANKE

  2. #2
    Registriert seit
    Jan 2003
    Beiträge
    746
    Hallo,

    das geht so:

    1) über jede Spalte ein Eingabefeld
    2) nach jedem EXFMT Eingaben prüfen und Bezugszahl setzen
    3) Je Spalte/Bezugszahl muß es eine eigene LF geben
    4) die Leseschleife zum Füllen der Subfile sieht dann so aus:

    90 READ LFILE01
    91 READ LFILE02
    92 READ LFILE03
    ...

    Solange unter 2) kein neuer "Schalter" kommt, bleibt die zuletzt gewählte Sortierung erhalten (blättern!)

    Viel Spaß, ist 'ne gute Übung!

  3. #3
    Registriert seit
    Jul 2003
    Beiträge
    331

    Wink

    oder benutze VA-RPG


    mfg. Ludger

  4. #4
    Registriert seit
    Dec 2005
    Beiträge
    131

    Exclamation

    @RobertMack: Danke, das ist eine Lösung, die wir ähnlich praktizieren.
    Allerdings verwenden wir Funktionstasten statt Eingabefelder (spart auch Platz).
    Aber dazu muss eben jedes Mal die Datei neu gelesen werden. Und genau dieses wollen wir NICHT - denn es handelt sich z.T. um sehr große Dateien, deren Lesevorgang schon an die "Geduldsgrenze" des Benutzers geht...
    Ich dachte eher daran, dass die Subfile, die ja irgendwie intern gespeichert sein muss, anhand der Spaltenköpfe neu sortiert werden kann, ohne sie neu aufzubauen (wie z.B. in Excel).

    @loeweadolf: ...RPG/400 - nix anderes !

  5. #5
    Registriert seit
    Jan 2003
    Beiträge
    746
    Nun, dazu fällt mir spontan ein:

    Performance - Subfile dynamisch oder werden erst mal 999* Sätze gelesen?

    Funktionstaste - wie wäre es mit mehreren Subfiles (je ein SFLFMT/CTL) die parallel gefüllt werden, man braucht dann nur noch umzuschalten

    Subfile - evtl. verzichten und Zeilen mit SLN selbst ausgeben (jeweils nur eine Seite) - das ist schneller programmiert, meist performanter und schneller aktualisiert (nach Satzauswahl + Änderung)

  6. #6
    Registriert seit
    Dec 2005
    Beiträge
    131
    Wie sollen denn mehrere Subfiles gleichzeitig geüllt werden, wenn ich nur eine Datei lese?
    Dann müssten doch auch mehrere Dateien gelesen werden - also ist der zeitliche Aufwand der gleiche - er ist nur am Anfang statt bei der Anforderung (Vorteil: einmalig ... Nachteil: wenn nicht benötigt, umsonst)!?

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Wenn mehrere Sortierfolgen nötig sind, ist dies nur über entsprechende LF's lösbar. Eine Sortierung einer Subfile ist definitiv nicht möglich !
    Du solltest also obige Lösungsansätze verfolgen und die Subfile immer nur mit 1 Seite füllen. Beim Vorwärtsblättern füllst du dann die nächste Seite, das Rückwärtsblättern erfolgt automatisch.
    Je nach gewünschter Sortierung muss eine entsprechende LF verwendet werden.

    Die Sortierung einer Subfile ist nur per Hilfstabelle (Datei) möglich in die man die Daten der Subfile ausliest, sortiert und wieder zurückschreibt. Die Performance kannst da dann allerdings komplett vergessen.

    Der Vorteil der Subfile ist ja gerade das Füllen nur bis zur 1. Anzeige um dann je nach Bedarf zu ergänzen.
    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

  8. #8
    Registriert seit
    Jan 2003
    Beiträge
    118
    Hallo mahones,

    je nachdem wie viele Datensätze verarbeitet werden müssen, könnte man die Daten auch zunächst in eine Datenstruktur (mit DIM(xxx)) schreiben, dann die Daten in der Datenstruktur sortieren und die Subfile aus der Datenstruktur füllen.
    Wenn die Sortierreihenfolge geändert werden soll, dann muss man nur noch die Datenstruktur neu sortieren und die Subfile aus der DS neu füllen.

    Viel Erfolg

    Jo

Similar Threads

  1. Subfiles mit verschiedener Zeilenanzahl
    By grihe in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 25-10-05, 14:35
  2. zwei subfiles gleichzeitig aktiv halten
    By Stefan_Sk in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 23-06-05, 17:35
  3. Antworten: 16
    Letzter Beitrag: 01-11-04, 08:45
  4. Sortieren
    By niki in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 08-10-04, 11:10
  5. Sortieren durch ein Datumsformat
    By Newbie in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 04-07-02, 08:19

Berechtigungen

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