[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2006
    Beiträge
    129

    Sortieren einer Array

    Hallo zusammen,

    wie kann man eine DS Array sortieren zb.: nach dem ersten feld?

    danke
    steven_r

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.254
    In RPG kann eine DS-Array (Vorkommen, Occurs) nicht sortiert werden, das geht nur mit Tabellen (E-Eintrag).

    In ILERPG kann die DS mittels %sort sortiert werden (DIM nicht Occurs).
    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
    May 2006
    Beiträge
    129
    danke für die rasche info

    mfg
    steven_r

  4. #4
    Registriert seit
    Aug 2001
    Beiträge
    2.877
    Hallo,

    Array-Datenstrukturen können ebenso wenig wie Mehrfach-Datenstrukturen sortiert werden.

    Eine Sortierung, kann nur über den OPCode SORTA erfolgen (eine Built-in-Funktion %Sort() gibt es nicht!).

    Möglich ist jedoch Feldgruppen, die als Datenstruktur-Unterfelder definiert sind und die durch andere Felder überlagert sind zu sortierten. Dadurch, das Felder eine Feldgruppe überlagern, sind sie ebenfalls als Feldgruppen definert. Jede einzelne dieser Feldgruppen kann sortiert werden. (Die Inhalte der überigen Feldgruppen werden richtig mit sortiert)

    Beispiel:
    PHP-Code:
    D                 DS                                             
    D Adresse                             Dim
    (5)                     
    D  Name                         15A   Overlay(Adresse)          
    D  Strasse                      15A   Overlay(Adresse: *Next)   
    D  Land                          3A   Overlay(Adresse: *Next)   
    D  PLZ                           5A   Overlay(Adresse: *Next)   
    D  Ort                          10A   Overlay(Adresse: *Next)   

     /
    Free
        SortA Adresse
    ;           
        
    SortA Ort;
        
    SortA PLZ;
     /
    End-Free 
    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  5. #5
    Registriert seit
    May 2006
    Beiträge
    129
    Danke Birgitta du hast mir sehr geholfen.

    lg
    steven_r

  6. #6
    Registriert seit
    Sep 2006
    Beiträge
    23
    Hi,

    ich weiß, dass das Thema schon etwas älter ist. Allerdings habe ich hierzu eine Frage.

    Besteht die möglichkeit hier nach 2 Feldern zu sortieren? Oder macht er das Automatisch?

    Ich möchte jetzt also die Datenstruktur Adresse nach Land und anschließend nach Ort sortieren.

    Soll also so aussehen

    Land(1) = Deutschland
    Land(2) = Deutschland
    Land(3) = Schweiz

    Ort(1) = Berlin
    Ort(2) = Düsseldorf
    Ort(3) = Basel

  7. #7
    Registriert seit
    Aug 2001
    Beiträge
    2.877
    Man kann ein überlagertes Sub-Field definieren, das z.B. von Land und Ort überlagert wird und danach sortieren:

    Code:
    D                 DS                                             
    D Adresse                             Dim(5)                     
    D  Name                         15A   Overlay(Adresse)          
    D  Strasse                      15A   Overlay(Adresse: *Next)   
    D  LandOrt                            Overlay(Adresse: *Next)
    D    Land                        3A   Overlay(LandOrt)  
    D    Ort                        10A   Overlay(LandOrt: *Next) 
    D  PLZ                           5A   Overlay(Adresse: *Next)   
       
    
     /Free
        SortA Adresse;           
        SortA LandOrt;
        SortA Ort;
        SortA PLZ;
     /End-Free

    Übrigens ab 7.1 können auch Array-Datenstrukturen nach Sub-Feldern sortiert werden.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

Similar Threads

  1. ILE RPG und dynamisches Array
    By Squall in forum NEWSboard Programmierung
    Antworten: 9
    Letzter Beitrag: 10-10-06, 08:53
  2. Im Array suchen
    By stoerfang in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 11-08-06, 13:49
  3. Zweidimensionales Array
    By stoerfang in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 09-08-06, 14:08
  4. Sortieren von Subfiles
    By mahones in forum NEWSboard Server Software
    Antworten: 7
    Letzter Beitrag: 01-03-06, 14:11
  5. Antworten: 16
    Letzter Beitrag: 01-11-04, 08:45

Berechtigungen

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