Kann mir jemand zu den einzelnen Punkten definieren was diese sind und welche Vorteil diese haben ??
Einfach, Zweidimensionale Tabelle
Hierarchisch-Sequenzielle Liste
Baumstruktur ALV Tree Control
Einerseits sind das offensichtliche Vorteile, für mich als Entwickler gibt es aber noch einen weiteren, der erheblich mehr Wirkung für meine Arbeit zeigt: Aus einem ALV Grid als Attribut baue ich mir eine fertige ALV-Anwendung mit diversen fertigen Funktionalitäten, auf die andere Entwickler dann zugreifen können. So muss ein „Doppelklick springt in Detailsicht“ nicht mehr groß programmiert werden, weil man nur noch sagen muss, womit und wohin (weil der Rest generisch umgesetzt ist, und zwar im UI-Layer, wo es hingehört). Das mit den in Klassen gekapselten Funktionen, die sich in der Toolbar subscriben, habe ich ja schon mehrfach beschrieben. Da genügt oft ein Customizing-Eintrag, um einen Grid eine Funktion zu geben, die man für irgendein anderes Grid schon geschrieben hat.
@Ralf und deejay: Es geht doch gar nicht um ein ALV-Grid.
@daf:
Einfache zweidimensionale Liste:
Das ist das, was du in einer Datenbank kennst bzw. was im ABAP einer internen Tabelle entspricht. Alle Zeilen der zweidimensionalen Liste haben die selbe Struktur. In anderen Programmiersprachen entspricht dies einem 2dimensionalen Array, bei dem die Bedingung gilt, dass alle Elemente mit dem selben ( entweder 1. oder 2.) Index den selben Typ aufweisen. Beispiele wäre z.B. im SAP eine Liste aller Kunden mit weiterführenden Informationen wie der Adresse.
Vorteil: Die Antworden von Ralf und deejay
Hierarchisch sequentielle Liste:
Das musst du dir vorstellen wie eine Liste mit 2 (meist) verschiedenen Strukturen, die über ein Parent/Child Beziehung miteinander verknüpft sind. Beispiel im SAP wäre z.B. eine Liste von Kundenaufträgen mit Positionen. Eine Struktur für den Auftragskopf mit für den Kopf relevanten Inforamtionen, eine Struktur mit den Positionen mit für die Position relevanten Informationen. Die Ausgabe erfolgt üblicherweise indem zuerst der Kopf und darauf folgend dann die Positionen dargestellt werden.
Vorteil: Auch hierfür bietet SAP einen Funktionsbaustein mit all den Sachen die deejay und Ralf erwähnt haben.
Nachteil: Das ist eine "alte" WRITE-Liste - sie sieht entsprechend nicht sonderlich modern aus. SAP hat kein "modernes" GUI-Control entwickelt um das nachzubilden
ALV-Tree
Dies ist eine Baumstruktur mit einem ALV-Teil . Der ALV-Teil enspricht einer einfachen zweidimensionalen Liste - hat also für alle Zeilen eine genau festgelegte Struktur.
Andererseits können mit der ALV-Liste auch Parent/Child-Beziehungen dargestellt werden. Im Gegensatz zur Hier.Seq. Liste können nicht nur 2 Ebenen dargestellt werden, sondern es können recht tiefe Beziehungen dargestellt werden. Andererseits kann im Gegensatz zur HierSeq. Liste durch den ALV-Teil bedingt nur eine einzige Struktur dargestellt werden. Im Tree-Teil des ALV-Tree kann zwar pro Zeile die dargestellten Informationen beliebig zusammengesetzt werden - aber die hier dargebotenen Informationen sind üblicherweise auf eine handvoll ausgewählter Felder beschränkt.
Beispiel wäre z.B. eine Kundenhierarchie oder eine mehrstufige Stücklistenauflösung
Vorteil: SAP hat ein modernes Control mit diversen Standardfunktionalitäten ausgeliefert
Nachteil: Dieses Control verhält sich an vielen! Stellen leicht abweichend von den Standard ALV bzw Standard-Tree Controls
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag: daf