SAP教程中的ALV报告 - ABAP列表查看器-012
SAP教程中的ALV报告 - ABAP列表查看器-012
任何报告的常见所需功能是“列对齐”,排序,过滤,小计,总计等。要从头开始实现这些,需要投入大量的编码工作。为了避免这种情况,我们可以使用一个名为ABAP列表查看器(ALV)的概念。
在本教程中,您将学习:
- 简单报告
- 区块报告
- 分层报告
- 显示变体
这些报告中的每一个都提供了功能模块,这些模块有助于轻松生成所需的输出。让我们详细看看它们 -
简单报告
这些报告中的重要功能模块是 –
- Reuse_alv_fieldcatalog_merge
- Reuse_alv_list_display
- Reuse_alv_events_get
- Reuse_alv_grid_display
- Reuse_alv_commentary_write
REUSE_ALV_FIELDCATALOG_MERGE
此功能模块用于填充字段目录,这对于在ALV中显示数据至关重要。
如果输出数据来自单个字典表,并且选择了所有列,则我们不需要以独占方式创建字段目录。在REUSE_ALV_LIST_DISPLAY
中将表名作为参数(I_structure_name)提及就足够了。但在其他情况下,我们需要创建它。
注意:字段目录也可以通过将所有必需的详细信息填充到内部表中来手动填充
中的重要参数有:
1. 出口:
- I_program_name: 报告 ID
- I_internal_tabname:内部输出表
- I_inclname:包含 或处理所有动态表单的报表名称。
2. 更改
- ct_fieldcat :类型为 SLIS_T_FIELDCAT_ALV 的内部表,在类型池 SLIS 中声明。
REUSE_ALV_LIST_DISPLAY
这是打印数据的函数模块。
重要参数有:
1. 出口:
- I_callback_program: 报告 ID
- I_bypassing_buffer : ‘X’
- I_buffer_active : ’ ’
- I_callback_pf_status_set :例程,用户可以在其中设置自己的 pf 状态或更改现有 pf 状态的功能。
- I_callback_user_command:处理函数代码的例程。
- I_structure名称:字典表的名称
- Is_Layout:设置报表布局的结构
- It_fieldcat:内部表格,其中包含要打印的所有字段及其属性的列表(此表格可由函数自动填充)
- It_events :内部表,其中包含ALV的所有可能事件及其相应的表单名称的列表。
2. 表格:
- a. t_outtab:包含要输出的数据的内部表
REUSE_ALV_EVENTS_GET:
返回列表类型的可能事件的表
1. 导入:
Et_Events :事件表将返回指定列表类型(列“NAME”)的所有可能的回调事件。对于回调要处理的事件,必须填写其“FORM”字段。如果该字段已初始化,则忽略该事件。可以从事件表中读取该条目,填充字段“FORM”,并使用类型池SLIS中的常量修改该条目。
2. 出口:
I_list_type:0 = 简单列表REUSE_ALV_LIST_DISPLAY
1 = 分层顺序列表REUSE_ALV_HIERSEQ_LIST_DISPLAY
2 = 简单阻止列表REUSE_ALV_BLOCK_LIST_APPEND
3 = 分层顺序阻止列表REUSE_ALV_BLOCK_LIST_HS_APPEND
REUSE_ALV_GRID_DISPLAY
ABAP4.6 版本中的新功能,用于在网格中显示结果,而不是预览。
参数:与reuse_alv_list_display相同
注意:网格无法处理高容量。排序等功能,如果要显示的数据量很高,向下滚动会消耗大量资源/时间。没有明确的定义,如果数据量是X,则选择列表或网格,但开发人员必须根据他的经验进行调用。如果不确定,那么列表是更好的选择
REUSE_ALV_COMMENTARY_WRITE
这在“页首”事件中用于打印列表的标题和其他注释。
重要参数
- It_list_commentary :标题为slis_t_listheader的内部表格。
此内部表有三个字段:
- 类型: ‘H’ – 标题, ‘S’ – 选择, ‘A’ – 动作
- 键 :仅当典型值为“S”时。
- 信息:要打印的文本
区块报告
这看起来像一个简单的报表,但此报表仅具有排序和筛选功能。如果必须在输出上显示多个报表,则使用此报表。从技术上讲,如果您有多个内部表,其中的数据显示为单独的块,那么我们就会选择ALV的块报告。
用于创建此报告的重要函数包括:
- REUSE_ALV_BLOCK_LIST_INIT
- REUSE_ALV_BLOCK_LIST_APPEND
- REUSE_ALV_BLOCK_LIST_DISPLAY
REUSE_ALV_BLOCK_LIST_INIT
此功能模块用于设置默认 GUI 状态等。这些参数类似于reuse_alv_list_display或reuse_alv_grid_display
REUSE_ALV_BLOCK_LIST_APPEND
该函数模块将数据添加到块中。
重要参数
1.出口:
- is_layout: 块的布局设置
- it_fieldcat: 字段目录
- I_tabname:包含所有可能事件的内部表名
2.表格 : - t_outtab:包含输出数据的内部表。
REUSE_ALV_BLOCK_LIST_DISPLAY
此函数模块显示包含上述函数附加的数据的列表。
参数 :所有参数都是可选的。
分层报告
分层显示用于显示相关的数据。如销售订单和物料详细信息。此处,销售订单详细信息可以是标题数据,而销售订单中的项目可以是项目数据
用于此目的的函数模块是
REUSE_ALV_HIERSEQ_LIST_DISPLAY
出口:
- I_CALLBACK_PROGRAM
- I_CALLBACK_PF_STATUS_SET
- I_CALLBACK_USER_COMMAND
- IS_LAYOUT
- It_fieldcat
- It_events
- I_tabname_header :包含最高层次结构级别输出数据的程序中内部表的名称。
- I_tabname_item :包含最低层次结构级别输出数据的程序中内部表的名称。
- Is_keyinfo:此结构包含链接两个表(共享键)的标题和项目表字段名称。
表
- t_outtab_header: 要输出数据的头像表
- t_outtab_item :程序中包含最低层次结构级别的输出数据的内部表的名称。
内部表、结构和常量的所有定义都在名为 SLIS 的类型池中声明。可以使用REUSE_ALV_FIELDCATALOG_MERGE自动填充此内部表。
显示变体
- 显示变体用于设置 alv 输出的默认属性,如排序条件、过滤条件、总计和小计等
- 显示变体可以是用户特定的和标准的(标准变体可以由任何用户使用)
- 可以保存的显示变体类型由功能模块中传递的参数i_save控制reuse_alv_list_display/ reuse_alv_grid_display
- 您可以在选择屏幕上提供一个选项,以选择要使用的显示变体
与选择/验证显示变体相关的常见功能模块是
- Reuse_alv_variant_default_get
- Reuse_alv_variant_f4
- Reuse_alv_variant_existence
这就是ABAP-ALV编程的全部内容!
参考:https://www.guru99.com/alv-list-view-programming.html
SAP教程中的ALV报告 - ABAP列表查看器-012相关推荐
- win10照片查看器_图片打开方式中找不到Windows图片查看器怎么办
如何在电脑中使用默认的windows图片查看器来打开图片进行查看的?有时我们可能无法找到Windows图片查看器工具,接下来小编就与大家分享,一种简单的利用windows图片查看器查看图片的具体方法. ...
- vscode查看历史代码_VSCode中数据科学家的四大代码查看器
vscode查看历史代码 动机 (Motivation) Data science field requires working with data and files in different fo ...
- ABAP:利用SAP定时器自动刷新ALV
ABAP:利用SAP定时器自动刷新ALV 曾于无意之中发现,SAP系统中有个名为CL_GUI_TIMER的类,测试下来发现还是挺好用的,比网上那些自动刷新的例子直观多了.这里我们就做个演示实例. 先做 ...
- 一个详尽的面向 SAP UI5 初学者的教程 - 如何在 SAP UI5 中绘制图表 Chart
这是 Jerry 2021 年的第 65 篇文章,也是汪子熙公众号总共第 342 篇原创文章. 观沧海 曹操 东临碣石,以观沧海. 水何澹澹,山岛竦峙. 树木丛生,百草丰茂. 秋风萧瑟,洪波涌起. 日 ...
- 在SAP BW中使用ABAP
前言 本文的目的是讲述如何在BW中使用ABAP编程.在每一个项目中,正确使用ABAP编程会对正确的业务建模起到积极作用.在设计和蓝图阶段,一个核心的功能流程是类比于如何在BW中完成类似于R3中的业务流 ...
- lambda在python_在Python中使用lambda高效操作列表的教程
介绍 lambda Python用于支持将函数赋值给变量的一个操作符 默认是返回的,所以不用再加return关键字,不然会报错 result = lambda x: x * x result(2) # ...
- python中怎么比较两个列表-Python3列表(list)比较操作教程
一.相等比较 1.1 同顺序列表比较 顺序相同直接用"=="进行比较即可 list1 = ["one","two","three& ...
- 在SAP PI中建立场景
在SAP PI中建立场景 如果需要在PI中建立场景(scenario),要从主页开始. 主页界面如下: 主页有以下四个工作区的超链接: 企业服务库(ESR) 集成目录(ID) 系统规划(SL) 配置和 ...
- SAP HANA中的SLT简介
SAP HANA中的SLT简介 目录 SAP系统和SAP HANA之间的SLT连接架构 在SAP源系统中配置SLT服务器 通过SLT将数据从SAP源导入至SAP HANA 非SAP系统和SAP HAN ...
最新文章
- TVM,Relay,Pass
- PHP文件在线检测病毒,VIRSCAN 在线病毒检测客户端
- Java 实例 - 生产者/消费者问题
- 用putty中的pscp命令拷贝文件
- .NET 实现并行的几种方式(三)
- 「雕爷学编程」Arduino动手做(30)——光敏二极管模块
- leetcode python3 简单题118. Pascal's Triangle
- 一个 Python 报表自动化实战案例
- Try Microsoft AutoCollage 2008
- 二叉树前序、中序、后序遍历(八)
- Tomcat 部署多个项目出现错误
- 尚硅谷SpringCloud2020简单学习记录(个人用)33-39集
- 基于荔枝派Lichee Nano(全志f1c100s)的u-boot移植(一)
- Markdown的下载与应用
- python 批量修改文件夹和子文件夹的名称
- Simulink Mutual Inductance互感线圈模块使用方法
- 计算机怎么执行程序代码,代码如何运行?
- Windows 无法打开“添加打印机”。本地打印后台处理程序服务没有运行。请重新启动打印机后台处理程序或重新启动计算机。...
- Android中的传感器之---光线传感器
- 2018年最值得关注的10家区块链公司新秀