HotTip: Sortierung von Feldgruppen nach Teil-Elementen (Spalten)

11. November 2008 | Von | Kategorie: Tools, Hot-Tips

Artikel HotTip der NEWSolutions: Die folgenden Adress-Informationen wurden in einer Feldgruppe gespeichert. Diese Informationen sollen nach jeder Spalte sortiert werden können. Weiterhin soll es möglich sein in den einzelnen Spalten mit einem Lookup-Befehl gezielt nach einzelnen Werten zu suchen.

Birgitta Hauser

Die folgenden Adress-Informationen wurden in einer Feldgruppe gespeichert.


     Name              Strasse           Land PLZ     Ort
     EDV Beratung      Am Berg 47        DE   88214   Ravensburg
     A&A Friedmann     Hauptstr 70       DE   42781   Haan
     L + P             CARL-ZEISS-STR.   DE   63755   ALZENAU
     abc-Nachhilfe     Tullastr 47       DE   75237   KARLSRUHE
     Mike's Kneipe     Sandstr.128       DE   12623   BERLIN
     Biggi's Lädle     Alexandrastr 9    DE   12623   Berlin
     Meier & Co        Birkenweg 2-8     DE   75125   Karlsruhe
     edv consulting    spandauer str.4   DE   10559   berlin
     Erwin Müller KG   Industriestr.23   DE   63755   Alzenau
     Berger & Sohn     Waldstr. 97       DE   88214   RAVENSBURG

au2_look_IMG_0019_Z_nf_oDiese Informationen sollen nach jeder Spalte sortiert werden können. Weiterhin soll es möglich sein in den einzelnen Spalten mit einem Lookup-Befehl gezielt nach einzelnen Werten zu suchen.

Es stellt sich nun die Frage, wie kann diese Aufgabe am einfachsten gelöst werden?

  • Definition der Feldgruppe
    Die Feldgruppe wird als Datenstruktur-Unterfeld angelegt. Die einzelnen Spalten sind ebenfalls Datenstruktur-Unterfelder, die die Feldgruppe überlagern. Durch die Überlagerung werden die Datenstruktur-Unter-Felder automatisch als Feldgruppen definiert.

    
         D                 DS
         D Adresse                             Dim(10)
         D   Name                              Overlay(Adresse)        like(AdName)
         D   Strasse                           Overlay(Adresse: *Next) like(AdStr)
         D   Land                              Overlay(Adresse: *Next) like(AdLand)
         D   PLZ                               Overlay(Adresse: *Next) like(AdPLZ)
         D   Ort                               Overlay(Adresse: *Next) like(AdOrt)
    
  • Verwendung der Datenstruktur-Feldgruppen-Elemente
    Die Feldgruppen-Elemente, der Spalten, können direkt angesprochen werden.

      
          /Free
             Name(1)    = 'Egon Meier KG';
             Strasse(1) = 'Waldstrasse 22';
    
             If Land(Index) = Land(Index + 1);
             EndIf
    
             For Index=1 to %Elem(PLZ);
                 Dsply PLZ(Index);
             EndFor;
          /End-Free
    
  • Sortierung der Feldgruppe nach Spalten
    Beim Sortieren nach einzelnen Spalten wird nicht nur diese Spalte neu angeordnet, sondern die komplette Datenstruktur.

Schlagworte: , , , , , , , , , , , , , , , , , ,

Schreibe einen Kommentar

Sie müssen eingeloggt sein, um einen Kommentar schreiben.