ALV-Spalten Zwischensummen bilden

Aus SAP-Wiki
Zur Navigation springenZur Suche springen

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 ALVZwischensumme4.JPG 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 ALVZwischensumme3.JPG gekennzeichnet.

Die Zwischensummen -11.377,68 für D (Debitor) und -1.770,72 K (Kreditor) ergeben die Gesamtsumme -13.148,40.

ALVZwischensumme2.JPG

Web-Links