Functional ALV系列 (01) - ALV开发入门

2024-02-05 13:18

本文主要是介绍Functional ALV系列 (01) - ALV开发入门,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

SAP 的 ALV 全称是 SAP List Viewer,是 SAP 用于显示行列表格化数据的主要方式,从 SAP 推出的技术来看,大体有如下几种

  • 函数生成 ALV,调用 REUSE_ALV*相关的函数
  • ALV Grid 控件框架:SAP 提供 cl_gui_alv_grid 类,以面向对象的方式实现
  • SALV: SAP 另外一种面向对象的实现,与 ALV Grid 比较起来,简化了开发的复杂程度。但不支持 ALV 编辑

Function Module based ALV 是较早出现的开发技术。使用 ALV 显示数据,首先需要知道输出什么数据(内表类型的数据结构),还需要知道输出数据的数据结构(比如第一列显示什么,第二列显示什么,如何对齐,表头是什么,宽度多少,等等)。SAP 将这个数据结构称为 Field catalog。我们用一个简单的例子来讲解 ALV 的基本用法,假设要选取 spfli 表的部分字段在 ALV 中输出。

首先,定义要输出的字段:

然后,从数据库表中获取数据:

根据 gt_spfli 的结构,定义 field catalog,并且调用 REUSE_ALV_GRID_DISPLAY 显示数据:

程序运行界面:


ALV 显示具有行列格式的数据,大致如此。我们发现,程序中相当多的代码都是用于处理 field catalog (属于 slis_t_fieldcat_alv 类型),我们在调用 reuse_alv_grid_display 之前的代码打一个断点,观察 field catalog 的结构:


刚才的程序,很多代码都是用于加工 field catalog,如果是从数据库表中显示数据,能不能自动创建 field catalog 呢? 答案是可以的,我提供一种通用的方法。首先编写代码实现从 DDIC 或者内表中获取所有字段:


根据获取的字段填充 field catalog:

然后在程序中就可以调用 frm_build_fieldcat 来填充 field catalog:

代码量大大降低,该代码具备通用性。

源码

FALV/01-Hello World

这篇关于Functional ALV系列 (01) - ALV开发入门的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


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

相关文章

python web 开发之Flask中间件与请求处理钩子的最佳实践

《pythonweb开发之Flask中间件与请求处理钩子的最佳实践》Flask作为轻量级Web框架,提供了灵活的请求处理机制,中间件和请求钩子允许开发者在请求处理的不同阶段插入自定义逻辑,实现诸如... 目录Flask中间件与请求处理钩子完全指南1. 引言2. 请求处理生命周期概述3. 请求钩子详解3.1

如何基于Python开发一个微信自动化工具

《如何基于Python开发一个微信自动化工具》在当今数字化办公场景中,自动化工具已成为提升工作效率的利器,本文将深入剖析一个基于Python的微信自动化工具开发全过程,有需要的小伙伴可以了解下... 目录概述功能全景1. 核心功能模块2. 特色功能效果展示1. 主界面概览2. 定时任务配置3. 操作日志演示

JavaScript实战:智能密码生成器开发指南

本文通过JavaScript实战开发智能密码生成器,详解如何运用crypto.getRandomValues实现加密级随机密码生成,包含多字符组合、安全强度可视化、易混淆字符排除等企业级功能。学习密码强度检测算法与信息熵计算原理,获取可直接嵌入项目的完整代码,提升Web应用的安全开发能力 目录

一文教你如何解决Python开发总是import出错的问题

《一文教你如何解决Python开发总是import出错的问题》经常朋友碰到Python开发的过程中import包报错的问题,所以本文将和大家介绍一下可编辑安装(EditableInstall)模式,可... 目录摘要1. 可编辑安装(Editable Install)模式到底在解决什么问题?2. 原理3.

POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能

《POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能》ApachePOI是一个流行的Java库,用于处理MicrosoftOffice格式文件,提供丰富API来创建、读取和修改O... 目录前言:Apache POIEasyPoiEasyExcel一、EasyExcel1.1、核心特性

Python+PyQt5开发一个Windows电脑启动项管理神器

《Python+PyQt5开发一个Windows电脑启动项管理神器》:本文主要介绍如何使用PyQt5开发一款颜值与功能并存的Windows启动项管理工具,不仅能查看/删除现有启动项,还能智能添加新... 目录开篇:为什么我们需要启动项管理工具功能全景图核心技术解析1. Windows注册表操作2. 启动文件

使用Python开发Markdown兼容公式格式转换工具

《使用Python开发Markdown兼容公式格式转换工具》在技术写作中我们经常遇到公式格式问题,例如MathML无法显示,LaTeX格式错乱等,所以本文我们将使用Python开发Markdown兼容... 目录一、工具背景二、环境配置(Windows 10/11)1. 创建conda环境2. 获取XSLT

Android开发环境配置避坑指南

《Android开发环境配置避坑指南》本文主要介绍了Android开发环境配置过程中遇到的问题及解决方案,包括VPN注意事项、工具版本统一、Gerrit邮箱配置、Git拉取和提交代码、MergevsR... 目录网络环境:VPN 注意事项工具版本统一:android Studio & JDKGerrit的邮

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

Python中模块graphviz使用入门

《Python中模块graphviz使用入门》graphviz是一个用于创建和操作图形的Python库,本文主要介绍了Python中模块graphviz使用入门,具有一定的参考价值,感兴趣的可以了解一... 目录1.安装2. 基本用法2.1 输出图像格式2.2 图像style设置2.3 属性2.4 子图和聚