SAP ALV获取筛选后的行(排除筛选隐藏的行)

代码

FORM FRM_PLXG_DATA .

  DATA: LT_FILTERED TYPE LVC_T_FIDX.
  DATA: LV_TABIX TYPE SY-TABIX.

  IF GV_SELFIELD_VALUE IS NOT INITIAL .

    IF GV_GRID IS INITIAL.
      CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
        IMPORTING
          E_GRID = GV_GRID.
    ENDIF.

    CALL METHOD GV_GRID->CHECK_CHANGED_DATA. "更新数据
    CLEAR LT_FILTERED.
    CALL METHOD GV_GRID->GET_FILTERED_ENTRIES( IMPORTING ET_FILTERED_ENTRIES = LT_FILTERED ). "获取筛选数据(不显示的行)

    LOOP AT GT_RB06 INTO GS_RB06.
      LV_TABIX = SY-TABIX.
      READ TABLE LT_FILTERED WITH KEY TABLE_LINE = LV_TABIX TRANSPORTING NO FIELDS.        "跳过筛选隐藏的数据
      IF SY-SUBRC <> 0.
	"对显示行的操作
      ENDIF.
    ENDLOOP .
  ELSE .
    MESSAGE '请选中要批量修改当前列的值!' TYPE 'I' .
  ENDIF .
ENDFORM.

LT_FILTERED中的值

  • LT_FILTERED保存的时筛选隐藏的行的索引值
    1

2

猜你喜欢

转载自blog.csdn.net/qq_30797051/article/details/120195929
SAP