图1

图2
如上,图2是图1过滤后的显示,需要把图2的数据进行处理时,可以使用CL_GUI_ALV_GRID -->>GET_FILTERED_ENTRIES
是通过 过滤掉的内表数据行号来筛选。
DATA: lo_grid TYPE REF TO cl_gui_alv_grid,
filt_table TYPE lvc_t_fidx,
l_filt_table TYPE int4.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = lo_grid.
CALL METHOD lo_grid->get_filtered_entries
IMPORTING
et_filtered_entries = filt_table. "被过滤的内表数据行
CASE r_ucomm.
WHEN 'SEND'.
LOOP AT gt_alv ASSIGNING FIELD-SYMBOL(<fs_1>).
"看该行是否在被过滤的内表行中
READ TABLE filt_table INTO l_filt_table WITH KEY table_line = sy-tabix.
"不在的话则是符合筛选条件的数据
IF sy-subrc <> 0.
gs_dep_alv-objid = <fs_1>-objid.
gs_dep_alv-pernr = <fs_1>-pernr.
APPEND gs_dep_alv TO gt_send.
CLEAR gs_dep_alv.
ENDIF.
ENDLOOP.
ENDCASE.


本文介绍如何使用CL_GUI_ALV_GRID的GET_FILTERED_ENTRIES方法获取过滤后的数据行号,并展示了如何通过这些行号筛选出符合特定条件的数据。此方法适用于需要对ABAP程序中的列表视图进行高级数据处理的情况。
4827

被折叠的 条评论
为什么被折叠?



