Ansicht
Dokumentation

CL_SALV_FILTERS - Alle Filterobjekte

CL_SALV_FILTERS - Alle Filterobjekte

CL_GUI_FRONTEND_SERVICES - Frontend Services   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

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 )