View Full Version : Sortieren einer Array
Hallo zusammen,
wie kann man eine DS Array sortieren zb.: nach dem ersten feld?
danke
steven_r
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).
danke für die rasche info
mfg
steven_r
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:
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
Danke Birgitta du hast mir sehr geholfen.
lg
steven_r
Klabautermann
22-09-10, 11:13
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
Man kann ein überlagertes Sub-Field definieren, das z.B. von Land und Ort überlagert wird und danach sortieren:
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