【OO ALV实现合并行和列】

news2025/2/5 10:46:15

需求场景

做了一个FUNCTION ALV,按行展示,但是用户需要做一个转置,前面列按行显示,后面数量列由按列显示调整为按行显示。查了一下,好像是FUNCTION ALV实现不了,参考了一位博主实现了这个需求。
ABAP ALV多行表头(合并列,合并单元格)

问题点

这里面实现按行显示的代码有问题,我这里做了一些调整,代码如下:

FORM set_merge_vert USING col row len value.
  CLEAR: wa_col_merge,it_col_merge.
  wa_col_merge-col_id    = row.
  wa_col_merge-outputlen = len.
  APPEND wa_col_merge TO it_col_merge.

  CALL METHOD g_alv_grid->z_set_merge_vert
    EXPORTING
      col           = col
      value         = value
    CHANGING
      tab_col_merge = it_col_merge.

  "设置Style
  CLEAR:wa_style-style.
  wa_style-style     = alv_style_font_bold_no
  + alv_style_align_center_center
  + alv_style_color_key.

  CALL METHOD g_alv_grid->z_set_cell_style
    EXPORTING
      row   = row
      col   = col
      style = wa_style-style.
ENDFORM.                    " SET_MERGE_VERT

  METHOD z_set_merge_vert.
    FIELD-SYMBOLS <fs_cols> TYPE lvc_s_co01.
    FIELD-SYMBOLS <fs_data> TYPE lvc_s_data.
    DATA outputlen TYPE i.

    SORT tab_col_merge.

    LOOP AT tab_col_merge ASSIGNING <fs_cols>.
      IF <fs_cols>-col_id    LE 0.                CONTINUE. ENDIF.
      IF <fs_cols>-outputlen LE <fs_cols>-col_id. CONTINUE. ENDIF.
      outputlen = <fs_cols>-outputlen - <fs_cols>-col_id.
      LOOP AT mt_data ASSIGNING <fs_data>
      WHERE col_pos = col  AND
      ( row_pos BETWEEN <fs_cols>-col_id AND
      <fs_cols>-outputlen ).

        IF <fs_data>-row_pos = <fs_cols>-col_id.
          <fs_data>-mergevert = outputlen.
          <fs_data>-value = value.
        ELSE.
          CLEAR <fs_data>-mergevert.
          CLEAR <fs_data>-value.
        ENDIF.
      ENDLOOP.
    ENDLOOP.
  ENDMETHOD.                    "Z_SET_MERGE_VERT

效果如下

在这里插入图片描述

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

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

相关文章

运维工程师的出路到底在哪里?—— 浅谈运维工程师前景

目录 前言 一、运维工程师的职责 二、能力要求 &#xff08;一&#xff09;技术方面 &#xff08;二&#xff09;管理方面 &#xff08;三&#xff09;业务方面 三、35岁被称为运维半衰期&#xff0c;究竟为何&#xff1f; 四、该如何顺利过渡半衰期 五、运维的职业发…

(更新)上市公司研发与创新补助数据合集(2007-2022年)

数据简介&#xff1a; 数据来源&#xff1a;原始数据来源于上市公司年报时间跨度&#xff1a;2008-2022年数据范围&#xff1a;3400家上市企业数据展示&#xff1a; 初始数据&#xff1a; Stkcdyear说明金额0000042008政府补助利得644000000052008合计644000000062009政府补…

Zookeeper在分布式命名服务中的实践

Java学习面试指南&#xff1a;https://javaxiaobear.cn 命名服务是为系统中的资源提供标识能力。ZooKeeper的命名服务主要是利用ZooKeeper节点的树形分层结构和子节点的顺序维护能力&#xff0c;来为分布式系统中的资源命名。 哪些应用场景需要用到分布式命名服务呢&#xff1…

RHCE9学习指南 第10章 ACL权限

10.1 ACL介绍及基本用法 前面讲权限时是对u、u、o来设置权限的。假如有如图10-1所示的需求。 图10-1 为三个用户设置权限 有一个目录aa&#xff0c;要求tom、bob、mary具有不同的权限&#xff0c;利用前面讲过的知识是完全可以实现的。 所有者设置为tom&#xff0c;把所有者权…

维修服务企业网站建设的作用是什么

市场对维修服务的需求很大&#xff0c;但同样市场中相关的维修服务公司也不少&#xff0c;尤其当线下用户难获取时&#xff0c;各大企业都想要通过线上实现品牌曝光、拓客及展示内容服务等&#xff0c;行业竞争激烈&#xff0c;而线上入驻第三方平台&#xff0c;不仅处处受限&a…

破局:疯狂2+1商业模式玩法,顺联动力新零售百亿架构模型

破局&#xff1a;疯狂21商业模式玩法&#xff0c;顺联动力新零售百亿架构模型 大家好&#xff01;我是微三云营销总监胡佳东&#xff0c;私域电商模式策划师&#xff01; 引言&#xff1a;2023年是重新拥抱世界的一年&#xff0c;现在大多数的年轻人&#xff0c;不在被传统的…

精品Nodejs实现的微信小程序的运动减肥管理系统设计与实现菜谱美食健康

《[含文档PPT源码等]精品Nodejs实现的微信小程序的运动减肥管理系统设计与实现[包运行成功]》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功&#xff01; 软件开发环境及开发工具&#xff1a; 操作系统&#xff1a;Windows 10、Windows …

【网络安全 | 网络协议】结合Wireshark讲解HTTP协议

前言 超文本传输协议&#xff08;Hypertext Transfer Protocol&#xff0c;HTTP&#xff09;是一个简单的请求-响应协议&#xff0c;它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。 文章目录 前言HTTP协议Wireshark抓包分析 HTTP协议在Wireshark数据包中是…

[沫忘录] Docker容器

[沫忘录] Docker容器 启动和校验 #启动Docker systemctl start docker#停止Docker systemctl stop docker#重启Docker systemctl restart docker service docker restart#使Docker开机自启 systemctl enable docker#执行docker ps命令&#xff0c;可以用来检验安装启动成功 d…

Windows基于Mingw编译安装FLTK

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、FLTK是什么&#xff1f;二、下载源代码三、准备编译环境四、导入项目到Clion五、修改Cmake配置1.src/CMakeLists.txt2.Cmake/options.cmake3.CMakeLists.tx…

Isaac Sim 仿真机器人urdf文件导入

本教程展示如何在 Omniverse Isaac Sim 中导入 urdf 一. 使用内置插件导入urdf 安装urdf 插件 方法是转到“window”->“Extensions” 搜索框中输入urdf, 并启用 通过转至Isaac Utils -> Workflows -> URDF Importer菜单来访问 urdf 扩展。 表格中的 1,2,3 对应着…

【六】【C语言\动态规划】买卖股票的最佳时机含手续费、买卖股票的最佳时机 III、买卖股票的最佳时机 IV,三道题目深度解析

动态规划 动态规划就像是解决问题的一种策略&#xff0c;它可以帮助我们更高效地找到问题的解决方案。这个策略的核心思想就是将问题分解为一系列的小问题&#xff0c;并将每个小问题的解保存起来。这样&#xff0c;当我们需要解决原始问题的时候&#xff0c;我们就可以直接利…

毕设之-消息系统设计(websocket+netty)

文章目录 前言技术选型基本架构 前言 long time no see。 前几天去一家小公司待了待&#xff0c;果断还是选择跑路&#xff0c;第三天就去另一家公司考察环境&#xff0c;和主管聊了两个多小时&#xff0c;非常愉快&#xff0c;就是单位薪资砍了一半。哎&#xff0c;旧事莫提了…

正定矩阵与半正定矩阵 、奇异矩阵

一、正定矩阵与半正定矩阵 请问谁能用易于理解的语言解释下矩阵的正定及半正定&#xff1f; - 知乎 M为一个方阵 定义&#xff1a; 一个非零向量X&#xff0c;如果,那么我们就规定这个M方阵为正定矩阵 单位矩阵是正定矩阵 (positive definite) 同理&#xff1a; 那么这个M…

【Java进阶篇】Java中的枚举的概念、有什么特点和好处

✔️Java枚举的概念、特点和好处 ✔️枚举的概念✔️枚举的特点✔️枚举的好处✔️拓展知识仓✔️枚举如何实现的&#xff1f; ✔️枚举的概念 Java枚举是一种特殊的数据类型&#xff0c;它的每一个值都映射到Enum类的构造函数中&#xff0c;具有固定数量的常量值。枚举类型具有…

台球杆,预计到2026年将达到 6.234 亿美元

台球杆市场多年来一直在稳步增长&#xff0c;这得益于台球作为一种全球娱乐活动的日益普及。2021 年全球台球杆市场价值 5.477 亿美元&#xff0c;预计到 2026 年将达到 6.234 亿美元&#xff0c;预测期内复合年增长率为 2.6%。 就中国市场而言&#xff0c;中国是全球最大的台球…

鹅目标检测数据集VOC格式350张

鹅是一种大型的水禽&#xff0c;常见于湖泊、河流和农田周围。它们的体形庞大&#xff0c;长有长颈和宽阔的翅膀&#xff0c;通常呈灰白色或棕褐色。鹅的头部呈黑色&#xff0c;嘴呈橙色&#xff0c;眼睛则是明亮的蓝色。 鹅是非常社交的动物&#xff0c;常以大群的形式生活在…

YOLOv5改进 | 主干篇 | ShuffleNetV1轻量化网络助力FPS提高(附代码+修改教程)

一、本文内容 本文给大家带来的改进内容是ShuffleNetV1&#xff0c;这是一种为移动设备设计的高效CNN架构。它通过使用点群卷积和通道混洗等操作&#xff0c;减少了计算成本&#xff0c;同时保持了准确性&#xff0c;通过这些技术&#xff0c;ShuffleNet在降低计算复杂度的同时…

C/S医院检验LIS系统源码

一、检验科LIS系统概述&#xff1a; LIS系统即实验室信息管理系统。LIS系统能实现临床检验信息化&#xff0c;检验科信息管理自动化。其主要功能是将检验科的实验仪器传出的检验数据经数据分析后&#xff0c;自动生成打印报告&#xff0c;通过网络存储在数据库中&#xff…

Modbus TCP转Profinet协议网关应用

YC-TCP-PN通讯网关&#xff1a;引领工业通讯新篇章 在工业4.0的浪潮下&#xff0c;高效、稳定的通讯技术成为各行业的核心竞争力。作为行业领军者&#xff0c;我们自豪地推出YC-TCP-PN通讯网关&#xff0c;以其卓越性能打破行业技术壁垒&#xff0c;引领工业通讯进入新篇章。 …