gibt es die Möglichkeit, im ALV Grid, welches mit den FB REUSE_ALV_GRID_DISPLAY_LVC erstellt wurde, irgendwie Expand/Collapse-Buttons einzubauen? Ich möchte erreichen, dass bei einem bestimmten Wert die hierarchisch untergeordneten Werte als Zeilen bei Klick auf Expand eingeblendet und mit Collapse wieder ausgeblendet werden. Eine Referenz auf CL_GUI_ALV_GRID habe ich. Oder muss ich zum FB REUSE_ALV_HIERSEQ_LIST_DISPLAY wechseln, dann mit dem Nachteil, eine ALV-List-Anzeige statt der gewünschten ALV-Grid-Anzeige zu erhalten?
Hab ich schon mal gemacht. Es geht also definitv. Nur ist der Verwaltungsaufwand im Hintergrund ziemlich enorm.
Grob gesprochen brauchst du soetwas wie ein Show/Hide Attribut je Zeile und zwei Datentabellen. In der Hauptabelle sind alle Daten drinnen und in der zweiten, die dem ALV übergeben wird, sind nur die drinnen die angezeigt werden sollen. Der Rest ist die peinlichst genaue Verwaltung eines gemeinsamen Tabellenschlüssels, damit das hin- und herkopieren zwischen den beiden klappt.
Und bevor jetzt jemand schreit, "Dann nimm doch einen ALV Tree":
Der ist zwar gut für eine hierachische Darstellung, vermisst aber grundlegende Grid-Funktionen wie Summen oder Exportmöglichkeiten die trotzdem benötigt wurden.
EDIT:
Ich hab es mit der ALV Klasse gelöst. Ob es mit dem REUSE möglich ist wag ich zu bezweifeln, weil man ziemlich oft einen Refresh machen muss und auch die Möglichkeiten auf Events zu reagieren sind sehr stark eigeschränkt.
Was ich mir aber vorstellen könnte wäre, dass es mit einer Umsetzung im SALV klappen müsste.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.
danke für die ausführliche Info. Da muss ich dann wohl doch auf den ALV Tree ausweichen, weil ich den "enormen Verwaltungsaufwand" scheue. Für den Export der Daten muss ich mir aber noch was einfallen lassen. Die Sortierung ist nicht unbedingt erforderlich. Wenn ich mal Rentner bin und mehr Zeit habe, werde ich aber sicher die ALV-Klasse einbauen. ;)
Das Ganze ist mit einem CL_GUI_ALV_GRID ziemlich einfach zu lösen.
du benötigst nur ein numerisches Feld. und dann kannst du dieses Summieren und für beliebige Spalten Zwischensummen bilden. Danach kannst du Zwischensummenstufen auswählen und alles Stück für Stück wieder aufklappen.
Hier am Beispiel mit Airlines aus BCALV_GRID_DEMO
SNAG-00340.png
Kannst du mit beliebig vielen Feldern machen:
* Auftrag - Position - Einteilung
* Land - Werk - Lagerort - Lagerplatz
* usw.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag: sapdepp