Anfang des Inhaltsbereichs

Funktionsdokumentation get_subtotals  Dokument im Navigationsbaum lokalisieren

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   =  
<Referenzvariable vom Typ REF TO DATA >
      EP_COLLECT01   =  
<Referenzvariable vom Typ REF TO DATA >
      EP_COLLECT02   =  
<Referenzvariable vom Typ REF TO DATA >
      EP_COLLECT03   =  
<Referenzvariable vom Typ REF TO DATA >
      EP_COLLECT04   =  
<Referenzvariable vom Typ REF TO DATA >
      EP_COLLECT05   =  
<Referenzvariable vom Typ REF TO DATA >
      EP_COLLECT06   =  
<Referenzvariable vom Typ REF TO DATA >
      EP_COLLECT07   =  
<Referenzvariable vom Typ REF TO DATA >
      EP_COLLECT08   =  
<Referenzvariable vom Typ REF TO DATA >
      EP_COLLECT09   =  
<Referenzvariable vom Typ REF TO DATA >
      ET_GROUPLEVELS =  
<interne Tabelle vom Typ LVC_T_GRPL > .

Hinweis

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:

  • INDEX_FROM , INDEX_TO : Zeilen der Ausgabetabelle, über den die Zwischensumme gebildet wurde
  • LEVEL: Zwischensummenebene (s.o.)
  • COUNTER : Anzahl der Zeilen, über die die Zwischensumme gebildet wurde
  • COMPRESS : Zu dieser Zwischensummenzeile hat der Benutzer die zugehörigen Zeilen ausgeblendet
  • COLLECT : Gibt an, in welcher Zwischensummentabelle ( 01 - 09 ) die Werte abgelegt sind

 

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>.