首页 > 其他分享 >ALV :汇总,分类汇总(小计),排序,过滤

ALV :汇总,分类汇总(小计),排序,过滤

时间:2022-09-30 23:42:10浏览次数:45  
标签:sort fieldcat 汇总 小计 filter alv lt slis ALV

货铺QQ群号:834508274


下面开始干货部分……



ALV标准功能汇总,分类汇总,排序,过滤这些功能除了可以直接使用它的标准功能按钮之外,你也可以在程序里设定,让ALV列表第一次显示出来就已经使用了这些功能。
用REUSE_ALV_GRID_DISPLAY实现的ALV不能在程序设定输出字段的平均值,最小值,最大值等标准功能。用OO方式实现ALV输出的就可以,

ALV :汇总,分类汇总(小计),排序,过滤_字段

<!--[if !supportLists]-->一、<!--[endif]-->排序
排序用到类型slis_t_sortinfo_alv,按条件把过滤的字段和规则设置好,添加到一个参考slis_t_sortinfo_alv类型的内表,在调用Function的时候指导内表赋给it_sort参数
<!--[if !supportLists]-->二、<!--[endif]-->过滤
过滤用到类型slis_t_filter_alv,按条件把排序的字段和规则设置好,添加到一个参考slis_t_filter_alv类型的内表,在调用Function的时候把内表的值赋给it_fitler参数
<!--[if !supportLists]-->三、<!--[endif]-->分类汇总
分类汇总是汇总和排序两个功能来进行分类和汇总的。按照排序的字段的值进行分类,对已经汇总的字段进行分类汇总。在设置排序的时候设置类型slis_t_sortinfo_alv-subtot = ‘X’ 就可以了。
<!--[if !supportLists]-->四、<!--[endif]-->汇总
汇总是设置要汇总的字段的Fieldcat属性,设置slis_t_fieldcat_alv-do_sum = ‘X’。
 
下面是源代码

 

TYPE-POOLS slis.

TYPES ty_tab_spfli TYPE spfli OCCURS 0.

START-OF-SELECTION.
PERFORM f_display.

*&---------------------------------------------------------------------*
*& Form f_getdata
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->PT_SPFLI text
*----------------------------------------------------------------------*
FORM f_getdata TABLES pt_spfli TYPE ty_tab_spfli.
SELECT * FROM spfli INTO TABLE pt_spfli.
ENDFORM. "f_getdata

*&---------------------------------------------------------------------*
*& Form f_display
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM f_display.

DATA: lt_spfli TYPE ty_tab_spfli,
lt_filter TYPE slis_t_filter_alv,
lt_sort TYPE slis_t_sortinfo_alv,
lt_fieldcat TYPE slis_t_fieldcat_alv.

PERFORM f_getdata TABLES lt_spfli.

PERFORM f_filter_build TABLES lt_filter.

PERFORM f_sort_build TABLES lt_sort.

PERFORM f_fieldcat CHANGING lt_fieldcat.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
it_fieldcat = lt_fieldcat
it_filter = lt_filter
it_sort = lt_sort
TABLES
t_outtab = lt_spfli.
ENDFORM. "f_display


*&---------------------------------------------------------------------*
*& Form f_fieldcat
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->PT_FIELDCAT text
*----------------------------------------------------------------------*
FORM f_fieldcat CHANGING pt_fieldcat TYPE slis_t_fieldcat_alv.

FIELD-SYMBOLS <fs_fieldcat> LIKE LINE OF pt_fieldcat.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'SPFLI'
CHANGING
ct_fieldcat = pt_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
other = 3.

LOOP AT pt_fieldcat ASSIGNING <fs_fieldcat> WHERE fieldname = 'DISTANCE'.
<fs_fieldcat>-do_sum = 'X'.
ENDLOOP.
ENDFORM. "f_fieldcat

*&---------------------------------------------------------------------*
*& Form f_filter_build
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->PT_FILTER text
*----------------------------------------------------------------------*
FORM f_filter_build TABLES pt_filter TYPE slis_t_filter_alv.
DATA lwa_filter LIKE LINE OF pt_filter.

lwa_filter-fieldname = 'DISTANCE'.
lwa_filter-sign0 = 'E'.
lwa_filter-optio = 'EQ'.
lwa_filter-valut = 'MI '.
APPEND lwa_filter TO pt_filter.
ENDFORM. "f_filter_build



*&---------------------------------------------------------------------*
*& Form f_sort_build
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->PT_SORT text
*----------------------------------------------------------------------*
FORM f_sort_build TABLES pt_sort TYPE slis_t_sortinfo_alv.

DATA lwa_sort LIKE LINE OF pt_sort.

lwa_sort-fieldname = 'CARRID'.
lwa_sort-up = 'X'.
lwa_sort-subtot = 'X'.
APPEND lwa_sort TO pt_sort.
ENDFORM. "f_sort_build


标签:sort,fieldcat,汇总,小计,filter,alv,lt,slis,ALV
From: https://blog.51cto.com/u_15680210/5727532

相关文章

  • jdk 11使用jvisualVM visualGC
    安装visualVM下载jdk9及以上不再自带visualVM,需要手动安装,下载地址visualVM。下载后修改etc/visualvm.conf文件,配置jdk路径visualvm_jdkhome="D:/soft/java/JDK/jdk-11.0.......
  • 软件开发工具填空汇总
    第三代程序设计语言一般都是(过程化 )语言。进入二十一世纪以来,软件开发工具的发展有两个鲜明的特点,第一个特点是面向网络,另一个特点是(来源软件兴起和运用)。填空题171......
  • 华为软件开发平台 DevCloud 和 流水线(CloudPipeline)使用汇总
    华为软件开发平台DevCloud和流水线(CloudPipeline)使用汇总1.DevCloud产品概述:软件开发平台(DevCloud)是面向开发者提供的一站式云端DevSecOps平台,即开即用,随时随地在云......
  • 8 种实现垂直和水平居中元素的方法汇总
    HTML:<divclass="parent"style="background:black;width:200px;height:200px"><divclass="child"style="background:red;width:100px;height:100px"></div......
  • AM5728 Opencl 案例汇总:实现sobel算法,计算向量和,矩阵转置
    案例一:实现sobel算法OpenCV(Open Source Computer Vision Library)是一个基于BSD许可开源发行的跨平台计算机视觉库。实现图像处理和计算机视觉方面的很多通用计算。......
  • AC609实战问题汇总
    1.烧写文件格式:ALTERA的开发板在程序开发过程中,要把程序烧写到FPGA开发板上运行,上版调试,有三种文件格式sof,jic,pof。区别见:【FPGA学习笔记】sof文件和jic文件的区别,程序固......
  • 【C#编程技术总结】IO_Path类常用的API演示汇总
    目录​​ 一.IO_Path介绍​​​​二.Path解释​​​​三.常用API ​​​​四,其他Api​​  官方文档:​​https://learn.microsoft.com/zh-cn/dotnet/api/system.io.path?......
  • windows安装VMwareWorkstation问题汇总
    之前在window10平台下安装VMwareWorkstation,遇到各种问题,在此汇总遇到的一些问题和解决方案。一、蓝屏VMwareWorkstation虚拟机一打开就蓝屏解决方案打开Windows平台的​​......
  • C++问题汇总——长期更新
    避免使用vector<bool>,尽量使用bitset或者deque<bool>因为vector<bool>不是容器,底层是bool值按bit存储STLlist容器数据结构上看是带空头的双向循环链表容器迭代......
  • 数据结构重点知识汇总
    1线性表的合并(编程题)1.1有序表的合并算法步骤:创建表长为m+n的空表LC。指针pc初始化,指向LC的第一个元素。指针pa和pb初始化,分别指向LA和LB的第一个元素。当指针pa和pb均为......