ALV-Spalten Zwischensummen bilden
Siehe Kategorie: ALV.
Man kann einer ALV-Liste mitteilen, dass Zwischensummen über eine Spalte oder mehrere Spalten gebildet werden sollen.
Summen sind nur bei Feldern möglich, deren Feldtyp die Summierung erlaubt.
Summen und Zwischensummen in der ALV-Liste
Sobald ein summierungsfähiges Feld in der ALV-Liste existiert, erscheinen die beiden Schaltknöpfe für Gesamtsumme und Zwischensumme.
Ansteuern Zwischensummen über Programm
Anpassung Fieldcat
Einem Feld wird mitgeteilt über das Merkmal DO_SUM des Fieldcat, dass die Summe der Werte über dieses Feld gefordert ist.
* Field = Betrag ls_fcat-fieldname = 'WRBTR'. ls_fcat-rollname = 'WRBTR'. ls_fcat-do_sum = 'X'. APPEND ls_fcat TO p_ct_fcat. CLEAR ls_fcat.
Anpassung Sortierung
Damit nicht nur die Gesamtsumme eines Feldes ausgegeben wird, sondern auch passende Zwischensummen, muss dies bei der Sortierung der ALV-Tabelle durch das Merkmal SUBTOT angegeben sein.
CLEAR ls_sort. "Liste wird nach Feldern sortiert ls_sort-fieldname = 'KOART'. "Identische Werte, die übereinander stehen, werden ls_sort-spos = '1'. "verbunden und nur der oberste Wert wird angezeigt ls_sort-up = 'X'. ls_sort-group = 'UL'. ls_sort-subtot = 'X'. "Zwischensummen APPEND ls_sort TO lt_sort.
Summen vor Einzelsätzen
Möchte man die (Zwischen-)Summen vor den Einzelsätzen haben, legt man das in der Layout-Struktur fest. Im Beispiel wird die defaultmäßige Ausgabe der Summen hinter den Einzelsätzen genommen.
"ls_layout-TOTALS_BEF = 'X'. "Summen vor Einzelsätzen
Ausgabe Tabelle
In diesem Fall wurde die Summe über das Feld "Betrag" gesetzt und die Zwischensumme in Abhängigkeit der Sortierung des Feldes "Koart".
Der Level der Zwischensumme wird durch das Symbol gekennzeichnet.
Die Zwischensummen -11.377,68 für D (Debitor) und -1.770,72 K (Kreditor) ergeben die Gesamtsumme -13.148,40.