Show TOC

ZwischenergebnisseLocate this document in the navigation structure

Verwendung

Standardmäßig werden in Aggregationen alle Werte eines Feldes bei der Berechnung verwendet. Sie können jedoch auch Zwischenergebnisse erzeugen, d. h. Sie fassen die Datensätze zusammen, die die Werte für ein Zwischenergebnis enthalten, und zeigen das Zwischenergebnis jeweils in einer eigenen Ergebniszeile an.

Um Zwischenergebnisse zu erzeugen, müssen Sie verschiedene Angaben machen:

  • Um anzugeben, in welchem Feld sich die Werte befinden, aus denen die Zwischenergebnisse bestehen, erzeugen Sie zu dem entsprechenden Feld eine Aggregationsbedingung. Das Gesamtergebnis wird in einer Ergebniszeile angezeigt.

  • Um anzugeben, welche Datensätze in einem Zwischenergebnis enthalten sind, fassen Sie die Datensätze zu Gruppen zusammen: Sie sortieren die ALV-Ausgabe nach dem Feld, das das Kriterium für das Zwischenergebnis enthält.

  • Um schließlich die Zwischenergebnisse zu erzeugen, bilden Sie über das Feld mit dem Kriterium die Zwischenergebnisse.

  • Um zuletzt die Zwischenergebnisse anzuzeigen, schalten Sie die Anzeige von Zwischenergebnissen ein.

    Hinweis

    Wenn Zwischenergebnisse mehr als eine Zeile benötigen, zum Beispiel weil Sie für verschiedene Währungen angezeigt werden , und Sie gleichzeitig eine Darstellung der Tabelle als Hierarchie definiert haben, können die Zwischenergebnisse nicht angezeigt werden.

Zu Zwischenergebnissen können Sie folgende Einstellungen vornehmen:

  • Zwischenergebnisse erzeugen

  • Zwischenergebnisse anzeigen

  • Stufe beim Aufreißen der Zwischenergebnisse festlegen

  • Position der Ergebniszeilen festlegen (siehe Einstellungen zur Aggregation)

  • Erzeugen von Zwischenergebnissen verbieten

Voraussetzungen

  • Sie haben zu mindestens einem aggregierbaren Feld eine Aggregationsbedingung erzeugt.

  • Das Feld mit dem Kriterium für Zwischenergebnisse ist ein nicht aggregierbares Feld, besitzt also einen alphanumerischen Datentyp.

Zwischenergebnisse erzeugen

Um in einem Feld, das bereits eine Aggregationsbedingung besitzt, Zwischenergebnisse zu erzeugen, erzeugen Sie zu dem Feld einer (anderen) Spalte eine Sortierbedingung (siehe Sortieren).

In dieser Sortierbedingung legen Sie fest, ob Zwischenergebnisse erzeugt werden. Dazu verwenden Sie Methoden der Klasse CL_SALV_WD_SORT_RULE.

Methoden zum Erzeugen von Zwischenergebnissen

Funktion

Methode

Zwischenergebnisse erzeugen

SET_GROUP_AGGREGATION

Prüfen, ob Zwischenergebnisse angezeigt werden

GET_GROUP_AGGREGATION

Zwischenergebnisse anzeigen

Wenn Sie alle Einstellungen vorgenommen haben, um Zwischenergebnisse zu erzeugen, müssen Sie die Anzeige dieser Zwischenergebnisse noch einschalten. Dazu verwenden Sie Methoden der Interface-Klasse IF_SALV_WD_FIELD_SETTINGS (implementierende Klasse CL_SALV_WD_CONFIG_TABLE).

Methoden zum Anzeigen von Zwischenergebnissen

Funktion

Methode

Zwischenergebnisse anzeigen

SET_GROUP_AGGR_DISPLAYED

Prüfen, ob Zwischenergebnisse angezeigt werden

GET_GROUP_AGGR_DISPLAYED

Stufe beim Aufreißen der Zwischenergebnisse festlegen

Wenn Sie über mehrere alphanumerische Felder Zwischenergebnisse definiert haben, entstehen mehrere Zwischensummenstufen: die Zwischenergebnisse werden hierarchisch gegliedert, sie werden entsprechend ihrer Stufe mit unterschiedlich vielen Punkten gekennzeichnet. Der Benutzer kann über diese Punkte die zugehörigen Einträge eines einzelnen Zwischenergebnisses ein- und ausblenden. Sie dagegen können in Ihrer Anwendung die Einträge einer oder mehrerer vollständiger Zwischensummenstufen ein- und ausblenden.

Sie können auch Zwischenergebnisse verdichten: Sie blenden sämtliche Datensätze sowie gegebenenfalls vorhandene untere Zwischensummenstufen aus. Es bleiben lediglich die Ergebniszeilen der höchsten Zwischensummenstufe sowie die Ergebniszeile mit dem Gesamtergebnis eingeblendet.

Für diese Funktionen verwenden Sie Methoden der Interface-Klasse IF_SALV_WD_FIELD_SETTINGS (implementierende Klasse CL_SALV_WD_CONFIG_TABLE).

Methoden zur Stufe beim Zwischensummenaufriss

Funktion

Methode

Höchste angezeigte Zwischensummenstufe festlegen

SET_EXPAND_LEVEL

Aktuell angezeigte Zwischensummenstufe holen

GET_EXPAND_LEVEL

Zwischenergebnis verdichten

SET_GROUP_AGGR_COLLAPSED

Prüfen, ob Zwischenergebnisse verdichtet sind

GET_GROUP_AGGR_COLLAPSED

Erzeugen von Zwischenergebnissen verbieten

Standardmäßig werden in der ALV-Ausgabe automatisch Zwischenergebnisse erzeugt, sobald in mindestens einem Feld eine Berechnung durchgeführt wird: Alle sortierten Felder mit alphanumerischem Datentyp werden als mögliches Kriterium von Zwischenergebnissen interpretiert und entsprechend mit Zwischenergebnissen versehen.

Sie können für einzelne Felder das Erzeugen von Zwischenergebnissen verbieten. Dies hat folgende Auswirkungen:

  • Wenn Sie in Ihrer Anwendung für dieses Feld Zwischenergebnisse erzeugen, haben diese Einstellungen in der ALV-Ausgabe keine Auswirkung.

    Hinweis

    Der Benutzer kann nachträglich festlegen, zu welchen der Spalten er Zwischenergebnisse haben möchte und zu welchen nicht. Wenn Sie zu einem Feld das Erzeugen von Zwischenergebnissen verbieten, wird dem Benutzer die entsprechende Spalte hier nicht angeboten.

Um das Erzeugen von Zwischenergebnissen in einem Feld zu verbieten, verwenden Sie Methoden der Interface-Klasse IF_SALV_WD_SORT (implementierende Klasse CL_SALV_WD_FIELD).

Methoden zum Verbieten von Zwischenergebnissen

Funktion

Methode

Erzeugen von Zwischenergebnissen verbieten

SET_GROUP_AGGREGATION_ALLOWED

Prüfen, ob Erzeugen von Zwischenergebnissen erlaubt ist

IS_GROUP_AGGREGATION_ALLOWED