cl_salv_table pendant get_filtered_entries

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

cl_salv_table pendant get_filtered_entries

Beitrag von abapz (ForumUser / 17 / 6 / 3 ) »
Hallo zusammen,

hat jemand eine idee, welches pendant es in cl_salv_table zu cl_gui_alv_grid->get_filtered_entries gibt?

ich brauche unbedingt die in der tabelle (cl_salv_table) sichtbaren einträge, nachdem ich im alv einen filter gesetzt habe - bisher habe ich das durch die Differenz aller Einträge durch die gefilterten Einträge, also die tabelle, die in get_filtered_entries zurückgegeben wird, erreicht.

über cl_salv_table->get( ) bekomme ich lediglich eine Tabelle, welche die columns listet, die ausgeblendet werden.

vielen dank.

Folgende Benutzer bedankten sich beim Autor abapz für den Beitrag:
Gokar


gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: cl_salv_table pendant get_filtered_entries

Beitrag von a-dead-trousers (Top Expert / 4395 / 223 / 1182 ) »
hmmm... Hab auf die schnelle das Programm /SSA/CMA gefunden:

Code: Alles auswählen.

DATA:
      lt_lvc_filter type lvc_t_filt,
      lt_filter_inside  type lvc_t_fidx,
      lt_filter_outside type lvc_t_fidx.

*  ... get the filter information
     lt_lvc_filter =
        cl_salv_controller_metadata=>get_lvc_filter( p_obj_filters ).

     call function 'LVC_FILTER_APPLY'
      exporting
        it_filter                    = lt_lvc_filter
*       IT_VALUE_UNIT                =
*       IT_GROUPLEVELS               =
*       I_FILTER_FLAGNAME            =
*       I_TABNAME                    =
*       I_TABNAME_SLAVE              =
*       I_SLAVE                      =
*       I_IGNORING_CASE              =
      importing
        et_filter_index              = rt_filter_outside
*       ET_GROUPLEVELS_FILTER        =
        et_filter_index_inside       = rt_filter_inside
      tables
        it_data                      = pt_input.
lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag (Insgesamt 2):
abapzGokar

Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: cl_salv_table pendant get_filtered_entries

Beitrag von abapz (ForumUser / 17 / 6 / 3 ) »
vielen dank für den tipp - so konnte ich das problem lösen.

für den fall, dass irgendwann irgendjemand dieses problem auch hat, hier ein paar infos, damit ihr schneller fertig seid.

Code: Alles auswählen.

*  ... get the filter information
     lt_lvc_filter =
        cl_salv_controller_metadata=>get_lvc_filter( p_obj_filters ).
p_obj_filters bekommt ihr über die instanzmethode get_filters( ) eurer cl_salv_table instanz.

Code: Alles auswählen.

CALL FUNCTION 'LVC_FILTER_APPLY'
      EXPORTING
        it_filter                    = lt_lvc_filter
      IMPORTING
        et_filter_index              =    rt_filter_outside
        et_filter_index_inside       = rt_filter_inside
      TABLES
        it_data                      = pt_input.
et_filter_index ist eine tabelle mit table_line und gibt euch die indexe aller einträge zurück, die nach dem setzen des filter nicht mehr im alv angezeigt werden.
et_filter_index_inside ---------------"-------------------"----------------------------"----------------"-, die nach dem setzen des filter weiterhin im alv angezeigt werden.

pt_input: dort gibt man die tabelle an, auf die sich der alv bezieht.

Folgende Benutzer bedankten sich beim Autor abapz für den Beitrag (Insgesamt 2):
GokarStefanouis


Re: cl_salv_table pendant get_filtered_entries

Beitrag von Gokar (ForumUser / 23 / 19 / 3 ) »
Danke nochmal dafür. Hat prima funktioniert.

Ich habe die Filter vom Typ cl_salv_filters über die Methode cl_salv_table->get_filters( ) zum Objekt der Klasse erzeugt:

Code: Alles auswählen.

	DATA: ir_salv_table TYPE REF TO cl_salv_table.
	DATA: ir_salv_filters TYPE REF TO cl_salv_filters.
	DATA: it_lvc_t_filt TYPE lvc_t_filt.
	
	...
	
	"get filters
	ir_salv_filters = ir_salv_table->get_filters( ).
	it_lvc_t_filt = cl_salv_controller_metadata=>get_lvc_filter( ir_salv_filters ).
MfG

Re: cl_salv_table pendant get_filtered_entries

Beitrag von Stefanouis (ForumUser / 1 / 4 / 0 ) »
Ich hatte erwartet, dass der FuBa die Tabelle entsprechend bearbeitet aber für diejenigen die da noch Hilfe brauchen hier nochmal kurzes Coding wie man dann die Tabelle erhält.

CALL FUNCTION 'LVC_FILTER_APPLY'
EXPORTING
it_filter = lt_lvc_filter
IMPORTING
ET_FILTER_INDEX = ET_FILTER_INDEX
ET_FILTER_INDEX_INSIDE = ET_FILTER_INDEX_INSIDE
TABLES
it_data = gt_result
.
DATA(gt_result2) = gt_result . "sicher der Tabelle in gt_result2
CLEAR gt_result. " einmal leern

LOOP AT ET_FILTER_INDEX_INSIDE ASSIGNING <ls_filter_index>.
READ TABLE gt_result2 INDEX <ls_filter_index> INTO gs_result.
APPEND gs_result TO gt_result. "und wieder dem Index entsprechend füllen
ENDLOOP.

Seite 1 von 1

Vergleichbare Themen

2
Antw.
4939
Views
Salv Table - Layouts speichern
von JohnLocklay » 14.06.2019 11:33 • Verfasst in ABAP Objects®
3
Antw.
2760
Views
GUI Status verhindert on click Event des SALV Table
von Pinguincommander » 05.02.2019 09:51 • Verfasst in ABAP® Core
2
Antw.
1394
Views
sapterm - Online Pendant
von der_neuling » 06.09.2023 08:06 • Verfasst in Tips + Tricks & FAQs
6
Antw.
4076
Views
FOR ALL ENTRIES IN
von Bajdu » 21.08.2006 14:25 • Verfasst in ABAP® für Anfänger
1
Antw.
1480
Views
FOR ALL ENTRIES IN
von melisy » 02.04.2009 12:11 • Verfasst in ABAP® für Anfänger

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
Gestern von Bright4.5 1 / 513
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2147
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8742