Verwendung
Gibt die aktuellen Zwischensummen des ALV Grid Control zurück. Der Benutzer kann maximal neun Zwischensummen bilden, nachdem er über mindestens eine Spalte eine Summe gebildet hat. Dabei wird die Liste nach den Werten einer oder mehrerer Spalten (der Zwischensummenspalte) sortiert. Die Änderung eines Wertes in der Zwischensummenspalte führt zur Ausgabe der Zwischensumme (dies wird auch als Gruppenstufenwechsel bezeichnet).
Integration
Bevor Sie auf die Werte der Zwischensummen zugreifen, holen Sie sich mit der Methode
get_sort_criteria die Sortierungstabelle. Eine Zeile dieser Tabelle beschreibt Eigenschaften einer Spalte der Ausgabetabelle:Mit Hilfe dieser Informationen greifen Sie gezielt auf die Werte der übergebenen Tabellen zu (über die Referenzvariablen
COLLECT01 bis COLLECT09 ).Funktionsumfang
CALL METHOD
<Ref.var. auf CL_GUI_ALV_GRID > ->get_subtotals IMPORTING
EP_COLLECT00 =
Um auf die Werte von
EP_COLLECT00 bis EP_COLLECT09 zuzugreifen, dereferenzieren Sie die jeweilige Referenzvariable mit ASSIGN in ein Feldsymbol vom Typ Ihrer Ausgabetabelle (siehe unten).Parameter |
Bedeutung |
EP_COLLECT00 |
Zeigt auf die Summenzeile. Da es nur eine Summenzeile gibt, deren Summierungsbereich zudem eindeutig ist, gibt es zu dieser Tabelle keine weiteren Informationen in der Tabelle ET_GROUPLEVELS . |
EP_COLLECT01 bis EP_COLLECT09 |
Zeigen auf die Zwischensummenzeilen. Für jede Zwischensummenebene gibt es eine Referenzvariable, die jeweils auf eine interne Tabelle vom Typ der Ausgabetabelle zeigt. EP_COLLECT01 zeigt auf die Zwischensumme der höchsten Ebene, EP_COLLECT02 auf die der zweithöchsten, usw. Die Ebenen ergeben sich aus der Sortierpriorität (Feld SPOS in der Sortierungstabelle). Die Spalte, nach der zuerst sortiert wurde bildet die höchste Zwischensummenebene. |
ET_GROUPLEVELS |
Verwaltung aller Indizes zu den einzelnen Gruppenstufen. Die Felder der Tabelle haben folgende Bedeutung: |
Zur Übersicht:
Methoden der Klasse CL_GUI_ALV_GRID
Aktivitäten
Greifen Sie auf die Zwischensummentabellen (im Beispiel nur auf die Summe und die erste Zwischensummenebene) über Feld-Symbole zu:
data: total type ref to data,
subtotal1 type ref to data.
field-symbols <total> like gt_sflight.
field-symbols <subtotal1> like gt_sflight.
call method grid1->get_subtotals
importing
ep_collect00 = total
ep_collect01 = subtotal1.
assign total->* to <total>.
assign subtotal1->* to <subtotal1>.