SAP

您所在的位置:网站首页 排序升序降序怎么设置 SAP

SAP

2023-07-29 19:40| 来源: 网络整理| 查看: 265

无论是fuction ALV 还是OOALV 其实在设置过滤时候 都是把gt_sort的内表传进去就好,目前我没见过OOALV设置过滤时候,需要声明类、实例化等操作。如果你写过,欢迎指导,我们一起交流啊~~~~、

首先定义过滤内表,它参照的参考结构是 lvc_t_sort.

DATA: gt_sort TYPE lvc_t_sort。

设置排序的子例程,up表示升序 down表示降序

* 字段排序 PERFORM frm_sort_matnr . FORM frm_sort_matnr. DATA ls_sort TYPE lvc_s_sort . ls_sort-spos = '1' . ls_sort-fieldname = 'MATNR' . ls_sort-up = 'X' . "A to Z ls_sort-down = space . APPEND ls_sort TO gt_sort . ENDFORM.

如果是OOALV可以传递给set_table_for_first_display///这个方法的‘IT_SORT’ 参数来初始化一个排序. 如果是FUNCTION ALV可以传递给REUSE_ALV_GRID_DISPLAY_LVC这个方法的 ‘IT_SORT_LVC’ 参数来初始化一个排序.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC' EXPORTING IT_SORT_LVC = gt_sort TABLES t_outtab = gt_mseg EXCEPTIONS program_error = 1 OTHERS = 2. IF sy-subrc 0. * Implement suitable error handling here ENDIF. ```bash CALL METHOD lcl_grid->set_table_for_first_display EXPORTING is_layout = gs_layo "显示格式 is_variant = lv_variant "变式布局 it_toolbar_excluding = gt_exclubar "排除按钮 i_save = 'A' CHANGING it_sort = gt_sort "排序 it_fieldcatalog = gt_fcat "显示列 it_outtab = gt_mseg. "数据

在设置过滤时候 和排序是一个方法,这里直接展示代码

* 过滤 DATA: gt_filter TYPE lvc_t_filt. **1过滤** PERFORM frm_filter_table . **2** FORM frm_filter_table . DATA: ls_filter TYPE lvc_s_filt. ls_filter-fieldname = 'BWART'. ls_filter-sign = 'E'. ls_filter-option = 'BT'. * ls_filter-valut = '101'. ls_filter-low = '501'. ls_filter-high = '502'. APPEND ls_filter TO gt_filter. ENDFORM.

这里ls_filter-low = ‘501’. 是剔除低值501到高值502范围之间得数据。 ls_filter-high = ‘502’. ls_filter-option = ‘BT’.包含范围 如果要只选出某个值得那些数据应该这样写 ls_filter-option = ‘EQ’. ls_filter-low = ‘601’. ls_filter-sign = ‘I’.这样只会选出值为601得所有数据

FORM frm_filter_table . DATA: ls_filter TYPE lvc_s_filt. ls_filter-fieldname = 'BWART'. ls_filter-sign = 'I'. ls_filter-option = 'EQ'. ls_filter-low = '601'. APPEND ls_filter TO gt_filter. ENDFORM.

最后将内表gt_filter传到ALV展示函数里即可。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3