乐趣区

关于abap:SAP-ABAP-ALV-层次顺序表如何使用双表头Multiple-Headers进行数据输出试读版

零根底 ABAP 学习教程系列文章的目录

  • ABAP 规范培训教程 BC400 学习笔记之一:ABAP 服务器的架构和一个典型的 ABAP 程序结构介绍
  • ABAP 规范培训教程 BC400 学习笔记之二:Cross-client 和 Client-specific 的区别
  • ABAP 规范培训教程 BC400 学习笔记之三:ABAP 编程语言的个性和根本形成因素
  • ABAP 规范培训教程 BC400 学习笔记之四:ABAP 编程语言的数据类型
  • ABAP 规范培训教程 BC400 学习笔记之五:ABAP 编程语言的变量,常量和字面量,以及文本符号

ABAP 基础知识

  • 通过理论的例子,介绍 SAP ABAP 里的 Repository Information System 的应用技巧
  • ABAP function module 的应用
  • ABAP subroutine 的定义和应用
  • ABAP 中的变量和常量
  • ABAP 编程语言中的零碎字段(System Fields)
  • 什么是 ABAP Field Symbol
  • ABAP 援用类型介绍
  • 最浅显易懂的 SAPGUI 里 ABAP 调试器的应用办法介绍
  • 如何创立最简略的 ABAP 数据库表,以及编码从数据库表中读取数据 (上)
  • 如何创立最简略的 ABAP 数据库表,以及编码从数据库表中读取数据 (下)
  • 用 ABAP 读取本地文本文件内容
  • 26 行 ABAP 代码应用 HTTP_GET 函数下载百度网站的首页数据
  • ABAP 如何解析 JSON 数据
  • 如何从本地文件里拷贝某个 ABAP 类到 SAP 零碎
  • 面向对象的 ABAP 编程初探 – 什么是类,实例,和 Public 办法
  • SAP ABAP 报表的用户输出性能
  • 应用 ABAP 事物码 SM59 创立 Destination 来读取外网的数据
  • 通过一个具体的例子,解说 SAP BDC 技术的应用步骤
  • 从解读 BDC 主动生成的代码谈起,解说 SAPGUI 的程序组成部分
  • 如何查问 SAPGUI 屏幕上某个字段对应的数据库表存储
  • 如何应用事物码 SAT 查找某个 SAPGUI 屏幕字段对应的后盾存储数据库表的名称
  • 一步步创立蕴含自定义 Screen 的 ABAP 程序的具体步骤
  • SAP ABAP 字符串变量容易忽略和混同的一些知识点
  • SAP ABAP 解决 Excel 的规范函数 TEXT_CONVERT_XLS_TO_SAP 介绍
  • 授人以渔 - 在 SAP MM 物料显示界面上看到一个字段,如何查找哪张数据库表的哪个字段进行的存储
  • SAP ABAP 零碎进行数据库表查问的几种罕用办法
  • 如何让 ABAP 服务器可能响应通过浏览器发动的自定义 HTTP 申请
  • 一个 15 年 SAP ABAP 开发人员分享的 SAPGUI 一些个性化设置和实用小技巧
  • 如何应用 saplink 装置其余网站上提供的 ABAP 程序
  • ABAP 报表中如何给报表的输出参数削减 F4 Value Help
  • ABAP 报表中如何以二进制形式上传本地文件
  • ABAP 里文件操作波及到中文字符集的问题和解决方案
  • 更多文章正在写作中

Office 专题

  • 用 ABAP 新建本地 Excel 文件并写入数据
  • 如何应用 ABAP 创立蕴含不同字体大小的 Word 文档
  • 更多文章正在写作中

ALV 开发专题

  • 27 行代码开发一个最简略的 SAP ALV 报表
  • 48 行代码给 ABAP ALV 报表的数据行削减色彩成果
  • 77 行代码实现 ABAP ALV 中的双击事件处理
  • SAP ABAP ALV 档次程序表如何应用双表头 (Multiple Headers) 进行数据输入

更多文章正在写作中

在理论我的项目中,ABAP 开发人员常常遇到一些须要带有层级构造的数据显示。

以 SAP ABAP 规范培训教程里经典的航班模型为例,世界上有若干航空公司,在 SAP 零碎里用两位的字母示意,比方 AA 代表 America Airlines 美国航空,AB 代表 Berlin Airlines 柏林航空等等。每家航空公司经营了若干条航线,这些航线通过 4 位数字标识,比方 AA0017,代表美国航空旗下的 0017 航线,从纽约飞往旧金山。

因而,航空公司和其经营的航线,能够看成待输入数据的 第一级别的层次结构

每条航线,每周可能有若干班次,比方 AA0017 每周一,周三,周五,都是从纽约飞往旧金山,那么这些航线的具体班次,就形成了待输入数据的 第二级别的层次结构

咱们首先在 Excel 里展现这个待显示的具备层次结构的数据格式。

第一行和第二行别离是最初要显示的 ALV 的第一级表头和第二级表头,第三行和第七行 (灰色) 是第一级别的数据,即航空公司 ID 和这家航空公司所经营的航线 ID.

第 4~6,以及第 8~10 行,别离是第二级别的数据,即航线的班次工夫信息,以及价格。

最初我用 ABAP 代码,通过 ALV 的形式实现了上图 Excel 绘制的界面成果。这个 ALV 采取了 ABAP 规范的 档次程序表 的 API,即 cl_salv_hierseq_table,来输入具备双表头的 ALV 报表。残缺的代码有 330 行,位于本文开端。

如大家所见,这个 ALV 报表还蕴含了其余丰盛的性能,比方点击图标,使得所有第二级别的数据被折叠起来,从而只显示第一级别的数据,便于统计。同时也展现了如何在 ALV 里显示图标,交通灯,符号等其余类型的元素。这些技巧都将在本教程后续步骤介绍。

上面是 ALV 档次程序表应用双表头 (Multiple Headers) 进行数据输入的具体实现步骤。

退出移动版