Ansicht
Dokumentation
CL_SALV_FILTERS - Alle Filterobjekte
CL_GUI_FRONTEND_SERVICES - Frontend Services ROGBILLS - Synchronize billing plansDiese Dokumentation steht unter dem Copyright der SAP AG.
Funktionalität
Das Bilden von Filtern ist eine generische ALV-Funktion, die i.d.R. der Nutzer interaktiv einsetzt,
um die Anzeige der Datensätze einzuschränken. Sie können jedoch auch bereits in der Anwendung Filterbedingungen definieren. Mit der Klasse CL_SALV_FILTERS verwalten Sie die
Filterobjekte der Tabelle:
Zu jeder Spalte,
nach der Sie die Tabelle filtern möchten, erzeugen Sie maximal ein Filterobjekt. In jedem Filterobjekt können Sie dann einen oder mehrere Filter definieren.
Um eine Spalte zu filtern, machen Sie die folgenden Angaben:
- Die Spalte, in der sich die geprüften Inhalte befinden
Diese Angabe ist in jedem Fall erforderlich.
- Der Vergleichswert, auf den die Zeilen geprüft werden
- Die Filterbedingung
Sie geben an, ob die Zeilen genau den Vergleichswert enthalten müssen, oder ob sie z.B. nur angezeigt werden, wenn sie einen kleineren Wert als den Vergleichswert enthalten.
Voraussetzung
Um zu einer Spalte ein Filterobjekt erzeugen zu können, müssen folgende Voraussetzungen erfüllt sein:
- Die Spalte, für die Sie das Filterobjekt erzeugen möchten, existiert. Wenn die Spalte nicht existiert, erhalten Sie einen Fehler.
- Sie können für jede Spalte festlegen, ob dazu ein Filter definiert werden darf oder nicht. Sie können die Tabelle nur über solche Spalten filtern, für die keine Filterrestriktion besteht. Ansonsten erhalten Sie einen Fehler.
- Sie können für jede Spalte nur maximal ein Filterobjekt definieren. Wenn die Spalte bereits ein Filterobjekt enthält, erhalten Sie bei einer erneuten Definition eines Filterobjekts einen Fehler.
Methoden
Die Klasse CL_SALV_FILTERS enthält folgende Methoden:
CONSTRUCTOR | Instanziiert die Klasse |
ADD_FILTER | Fügt zu einer Spalte ein Filterobjekt hinzu und definiert einen Filter |
CLEAR | Löscht alle Filterobjekte |
GET | Liefert alle Filterobjekte zurück |
GET_FILTER | Liefert das Filterobjekt einer bestimmten Spalte zurück |
IS_FILTER_ALLOWED | Prüft, ob über eine Spalte gefiltert werden darf |
IS_FILTER_DEFINED | Prüft, ob die Tabelle bereits gefiltert dargestellt wird oder nicht |
REMOVE_FILTER | Entfernt das Filterobjekt einer bestimmten Spalte |
SET_FILTER_ALLOWED | Legt fest, ob über eine Spalte gefiltert werden darf oder nicht |
Beziehungen
Beispiel
Beispiel
Das folgende Beispiel kennen Sie bereits aus der Klasse CL_SALV_TABLE. Hier wird die Methode ADD_FILTER verwendet, um einen Filter zu definieren: Es sollen alle Einträge angezeigt werden außer denen, die in der Spalte CARRIDden Wert AAenthalten.
data: gt_outtab type table of SFLIGHT.
data: gr_table type ref to cl_salv_table.
data: gr_filter type ref to cl_salv_filters.
*... Select data
select * from SFLIGHT into corresponding fields of table gt_outtab.
*... Create Instance
call method cl_salv_table=>factory
IMPORTING
R_SALV_TABLE = gr_table
changing
t_table = gt_outtab
.
*... Set Filter
gr_filter = gr_table->get_filters( ).
gr_filter->add_filter(
columnname = 'CARRID'
sign = 'I'
option = 'NE'
low = 'AA' ).
*... Display table
gr_table->display( ).
Hinweise
Weiterführende Informationen
Addresses (Business Address Services) General Material Data
Diese Dokumentation steht unter dem Copyright der SAP AG.
Length: 6250 Date: 20240329 Time: 011143 sap01-206 ( 84 ms )