ALV 排序、汇总

news2024/11/28 22:50:12

目录

前言

实战

汇总

分类汇总

排序

分类汇总分隔方式(仅适用于LIST ALV)

完整代码:


前言

         在SAP ABAP ALV中,排序和汇总是两个关键特性,用于组织和分析数据显示。

        排序
        排序功能允许用户根据一个或多个列的值对ALV中的数据行进行升序或降序排列。这可以通过在调用显示函数REUSE_ALV_GRID_DISPLAY时传递适当的参数来实现。
        汇总
        汇总功能允许在ALV中对指定列的数据进行求和计算,并在报表底部或每组数据末尾显示结果。

实战

汇总

核心代码:
    gt_fieldcat-do_sum = 'X'.

展示效果:

分类汇总

核心代码:
    gt_sort-subtot    = 'X'.

展示效果:


注意:分类汇总出现的前提是gt_fieldcat-do_sum = 'X',另外还需对gt_sort-subtot进行设置;如果此参数(gt_fieldcat-do_sum)不设置的话,则汇总与分类汇总都没有。


排序

核心代码:
      gt_sort-spos      = '1'."排序的顺序,如果根据多个字段来排时,决定哪个先排
      gt_sort-fieldname = 'KEY1'.
      gt_sort-up        = 'X'."升序,如果不指定排序,默认为升序
      "gt_sort-down        = 'X'."降序
      gt_sort-subtot    = 'X'. "是否需要以此字段进行分类小计
    
注意:如果同一列有相同的数据,则排好序以后,在该列会自动将相同的数据合并为一行显示,不再出现多行重复的情况(但是若该ALV中有字段设置了“可编辑”,则不会合并),_LVC的FM如果要避免单元格合并,可设置gs_layout-no_merging = 'X' 。

参考文章:ALV IT_SORT-排序

分类汇总分隔方式(仅适用于LIST ALV)

核心代码:

         gt_sort-group = '*/UL' 只在REUSE_ALV_LIST_DISPLAY列表方式输出时起作用

未设置 gt_sort-group时:

 gt_sort-group = '*' 时,小分类之间用分页符分开,即小分类之间完全隔断:

gt_sort-group = 'UL' 时,小分类之间不隔断,而是使用下划线分隔:

完整代码:

TYPE-POOLS:slis.
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.
DATA: gt_sort     TYPE slis_t_sortinfo_alv WITH HEADER LINE.
DATA:BEGIN OF gt_data OCCURS 0,
  key1(1),
  key2(2),
  str(3),
  int1 TYPE i,
  int2 TYPE i,
  int3 TYPE i,
  END OF gt_data.

START-OF-SELECTION.
  PERFORM f_inital.
  DEFINE def_fdcat.
    clear gt_fieldcat.
    gt_fieldcat-fieldname = &1.
    gt_fieldcat-seltext_l = &2.
    gt_fieldcat-key = &3.
    "需要进行分类小计及汇总的字段:INT1、INT2
    if &1 = 'INT1' or &1 = 'INT2'.
      gt_fieldcat-do_sum = 'X'.
    endif.
    append gt_fieldcat.
  END-OF-DEFINITION.

  def_fdcat 'KEY1' 'KEY1' 'X'.
  def_fdcat 'KEY2' 'KEY2' 'X'.
  def_fdcat 'STR' 'STR' ''.
  def_fdcat 'INT1' 'INT1' ''.
  def_fdcat 'INT2' 'INT2' ''.
  def_fdcat 'INT3' 'INT3' ''.

  "* alv sort
  gt_sort-spos      = '1'."排序的顺序,如果根据多个字段来排时,决定哪个先排
  gt_sort-fieldname = 'KEY1'.
  gt_sort-up        = 'X'."升序,如果不指定排序,默认为升序
  gt_sort-subtot    = 'X'. "是否需要以此字段进行分类小计
  APPEND gt_sort.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      it_fieldcat = gt_fieldcat[]
      it_sort     = gt_sort[]
    TABLES
      t_outtab    = gt_data.

FORM f_inital .
  gt_data-key1 = 'a'.
  gt_data-key2 = 'aa'.
  gt_data-str = 'aaa'.
  gt_data-int1 = 2.
  gt_data-int2 = 1.
  gt_data-int3 = 8.
  APPEND gt_data.

  gt_data-key1 = 'a'.
  gt_data-key2 = 'aa'.
  gt_data-str = 'aab'.
  gt_data-int1 = 3.
  gt_data-int2 = 2.
  gt_data-int3 = 7.
  APPEND gt_data.

  gt_data-key1 = 'c'.
  gt_data-key2 = 'aa'.
  gt_data-str = 'aab'.
  gt_data-int1 = 4.
  gt_data-int2 = 2.
  gt_data-int3 = 6.
  APPEND gt_data.

  gt_data-key1 = 'a'.
  gt_data-key2 = 'ab'.
  gt_data-str = 'aba'.
  gt_data-int1 = 6.
  gt_data-int2 = 1.
  gt_data-int3 = 2.
  APPEND gt_data.

  gt_data-key1 = 'a'.
  gt_data-key2 = 'ab'.
  gt_data-str = 'abb'.
  gt_data-int1 = 3.
  gt_data-int2 = 4.
  gt_data-int3 = 2.
  APPEND gt_data.

  gt_data-key1 = 'e'.
  gt_data-key2 = 'ca'.
  gt_data-str = 'eca'.
  gt_data-int1 = 2.
  gt_data-int2 = 2.
  gt_data-int3 = 4.
  APPEND gt_data.

  gt_data-key1 = 'b'.
  gt_data-key2 = 'ba'.
  gt_data-str = 'bba'.
  gt_data-int1 = 8.
  gt_data-int2 = 5.
  gt_data-int2 = 2.
  APPEND gt_data.

  gt_data-key1 = 'b'.
  gt_data-key2 = 'bb'.
  gt_data-str = 'bbb'.
  gt_data-int1 = 1.
  gt_data-int2 = 2.
  gt_data-int3 = 4.
  APPEND gt_data.

  gt_data-key1 = 'c'.
  gt_data-key2 = 'ca'.
  gt_data-str = 'cca'.
  gt_data-int1 = 5.
  gt_data-int2 = 1.
  gt_data-int2 = 3.
  APPEND gt_data.

  gt_data-key1 = 'c'.
  gt_data-key2 = 'cc'.
  gt_data-str = 'ccc'.
  gt_data-int1 = 2.
  gt_data-int2 = 1.
  gt_data-int3 = 5.
  APPEND gt_data.

  gt_data-key1 = 'd'.
  gt_data-key2 = 'ca'.
  gt_data-str = 'dca'.
  gt_data-int1 = 4.
  gt_data-int2 = 6.
  gt_data-int3 = 2.
  APPEND gt_data.
ENDFORM.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1659087.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Redis是单线程吗?为什么6.0之后引入了多线程?

Redis是单线程吗?为什么6.0之后引入了多线程? Redis 是单线程吗?Redis 单线程模式是怎样的?Redis 采用单线程为什么还这么快?Redis 6.0 之前为什么使用单线程?Redis 6.0 之后为什么引入了多线程&#xff1f…

从Apache HttpClient类库,说一说springboot应用程序中的AutoConfiguration的封装

一、背景 在使用httpclient框架请求http接口的时候&#xff0c;我们往往会需要自定义配置httpclient&#xff0c;而非直接使用。 <dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>…

Language2Pose: Natural Language Grounded Pose Forecasting # 论文阅读

URL https://arxiv.org/pdf/1907.01108 TD;DR 19 年 7 月 cmu 的文章&#xff0c;提出一种基于 natural language 生成 3D 动作序列的方法。通过一个简单的 CNN 模型应该就可以实现 Model & Method 首先定义一下任务&#xff1a; 输入&#xff1a;用户的自然语言&…

链表第4/9题--翻转链表--双指针法

LeetCode206&#xff1a;给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4,5] 输出&#xff1a;[5,4,3,2,1]示例 2&#xff1a; 输入&#xff1a;head [1,2] 输出&#xff1a;[2,1]示例…

科沃斯梦碎“扫地茅”,钱东奇跌落“风口”

昔日“扫地茅“不香了&#xff0c;科沃斯跌落神坛。 4月27日&#xff0c;科沃斯发布2023年报显示&#xff1a;2023年&#xff0c;科沃斯的营收为155.02亿元&#xff0c;同比增加1.16%&#xff1b;同期&#xff0c;净利为6.10亿元&#xff0c;同比减少63.96%。科沃斯的经营业绩…

HR招聘面试测评,如何判断候选人的创新能力?

创新能力代表着一个人的未来发展潜力&#xff0c;创新能力突出的人&#xff0c;未来的上限就可能更高。而对于一个公司而言&#xff0c;一个具有创新能力的员工&#xff0c;会给公司带来新方案&#xff0c;新思路&#xff0c;对公司的长远发展拥有着十分积极的作用。 而在挑选…

【荣耀笔试题汇总】2024-05-09-荣耀春招笔试题-三语言题解(CPP/Python/Java)

&#x1f36d; 大家好这里是清隆学长 &#xff0c;一枚热爱算法的程序员 ✨ 本系列打算持续跟新荣耀近期的春秋招笔试题汇总&#xff5e; &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x1f49…

解析Spring中的循环依赖问题:初探三级缓存

什么是循环依赖&#xff1f; 这个情况很简单&#xff0c;即A对象依赖B对象&#xff0c;同时B对象也依赖A对象&#xff0c;让我们来简单看一下。 // A依赖了B class A{public B b; }// B依赖了A class B{public A a; }这种循环依赖可能会引发问题吗&#xff1f; 在没有考虑Sp…

信息系统项目管理师0097:价值交付系统(6项目管理概论—6.4价值驱动的项目管理知识体系—6.4.6价值交付系统)

点击查看专栏目录 文章目录 6.4.6价值交付系统1.创造价值2.价值交付组件3.信息流6.4.6价值交付系统 价值交付系统描述了项目如何在系统内运作,为组织及其干系人创造价值。价值交付系统包括项目如何创造价值、价值交付组件和信息流。 1.创造价值 项目存在于组织中,包括政府机构…

kkkkkkkkkkkk564

欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起探讨和分享Linux C/C/Python/Shell编程、机器人技术、机器学习、机器视觉、嵌入式AI相关领域的知识和技术。 人工智能与机器学习 &#x1f4dd;人工智能相关概念☞什么是人工智能、机器学习、深度学习☞人工智能发…

【LeetCode:LCR 077. 排序链表 + 链表】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

发表博客之:gemm/threadblock/threadblock_swizzle.h 文件夹讲解,cutlass深入讲解

文章目录 [发表博客之&#xff1a;gemm/threadblock/threadblock_swizzle.h 文件夹讲解&#xff0c;cutlass深入讲解](https://cyj666.blog.csdn.net/article/details/138514145)先来看一下最简单的struct GemmIdentityThreadblockSwizzle结构体 发表博客之&#xff1a;gemm/th…

STM32G030C8T6:EEPROM读写实验(I2C通信)

本专栏记录STM32开发各个功能的详细过程&#xff0c;方便自己后续查看&#xff0c;当然也供正在入门STM32单片机的兄弟们参考&#xff1b; 本小节的目标是&#xff0c;系统主频64 MHZ,采用高速外部晶振&#xff0c;实现PB11,PB10 引脚模拟I2C 时序&#xff0c;对M24C08 的EEPRO…

就业班 第三阶段(zabbix) 2401--5.9 day1 普通集zabbix 5.0部署 nginx部署+agent部署

文章目录 环境一、zabbix 5.0 部署1、安装yum源2、安装相关软件3、数据库安装和配置mariaDB数据库mysql57数据库 安装mysql万能卸载mysql代码&#xff1a;启动mysql并初始化4、数据表导入5、修改配置&#xff0c;启动服务6、配置 web GUI7、浏览器访问注意数据加密的选项不要勾…

基于Springboot的滴答拍摄影

基于SpringbootVue的滴答拍摄影设计与实现 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringbootMybatis工具&#xff1a;IDEA、Maven、Navicat 系统展示 用户登录 首页 摄影作品 摄影服务 摄影论坛 后台登录 后台首页 用户管理 摄影师管理 摄影作…

谷歌继续将生成式人工智能融入网络安全

谷歌正在将多个威胁情报流与 Gemini 生成人工智能模型相结合&#xff0c;以创建新的云服务。 Google 威胁情报服务旨在帮助安全团队快速准确地整理大量数据&#xff0c;以便更好地保护组织免受网络攻击。 本周在旧金山举行的 RSA 会议上推出的 Google 威胁情报服务吸收了 Mand…

旅游组团奖励标准,申报条件!利川市旅游组团奖励办法

利川市旅游组团奖励有哪些&#xff1f;关于利川市旅游组团奖励标准&#xff0c;申报条件整理如下&#xff1a; 第一条根据《湖北省人民政府办公厅印发关于更好服务市场主体推动经济稳健发展若干政策措施的通知》&#xff08;鄂政办发〔2022〕54号&#xff09;、《恩施州人民政府…

力扣2105---给植物浇水II(Java、模拟、双指针)

题目描述&#xff1a; Alice 和 Bob 打算给花园里的 n 株植物浇水。植物排成一行&#xff0c;从左到右进行标记&#xff0c;编号从 0 到 n - 1 。其中&#xff0c;第 i 株植物的位置是 x i 。 每一株植物都需要浇特定量的水。Alice 和 Bob 每人有一个水罐&#xff0c;最初是…

Centos固定静态ip地址

这里我用的是Vmware虚拟机搭建的三台机器 进入 cd /etc/sysconfig/network-scripts然后使用 ip addr命令&#xff0c;查看自己虚拟机的以太网地址。 我这里是ens33 上面的第一个选项是本地环回地址&#xff0c;不用管它 然后查看刚刚进入的network-scripts目录下的文件 找到…

【机器学习】AI时代的核心驱动力

机器学习&#xff1a;AI时代的核心驱动力 一、引言二、机器学习的基本原理与应用三、机器学习算法概览四、代码实例&#xff1a;线性回归的Python实现 一、引言 在数字化浪潮席卷全球的今天&#xff0c;人工智能&#xff08;AI&#xff09;已经不再是科幻小说中的遥远概念&…