获取ALV显示过滤后的数据到内表

图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.

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值