OO实现ALV TABLE 一:最简单的ALV显示
以前都是通过函数“REUSE_ALV_GRID_DISPLAY”来显示列表,这种方式是面向过程的,现在有另外一种面向对象化的方式来显示列表,函数REUSE_ALV_GRID_DISPLAY可以做到的它也能够做到。它主要是通过一个类CL_SALV_TABLE来实现的.
下面让我们来实现最简单的ALV列表。
1取得要显示的数据。
SELECT * INTO TABLE lt_tab FROM spfli up to 100 rows.
2.调用类CL_SALV_TABLE的静态方法Factory()创建类的实例。(Neu erzeugte Instanz für ALV-Tabellenobjekt holen)
TRY.
cl_salv_table=>factory(
IMPORTING
r_salv_table = lr_table
CHANGING
t_table = lt_tab
).
CATCH cx_salv_msg.
ENDTRY.
3.取得实例之后再调用方法Display()显示列表.
lr_table->display( ).
处理过程完成,最后让我们看一下显示结果。
下面是报表的所有源代码:
REPORT y_xin_002.
*变量定义
TYPES ty_spfli TYPE spfli OCCURS 0.
*----------------------------------------------------------------------*
* CLASS lcl_alv DEFINITION
*----------------------------------------------------------------------*
* ALV操作类(定义)
*----------------------------------------------------------------------*
CLASS lcl_alv DEFINITION.
PUBLIC SECTION.
METHODS: getdata "取得要显示的数据
RETURNING value(lt_tab) TYPE ty_spfli,
alv_process "ALV处理方法
IMPORTING value(lt_tab) TYPE ty_spfli,
main. "主方法
PRIVATE SECTION.
DATA gr_table TYPE REF TO cl_salv_table.
ENDCLASS. "lcl_alv DEFINITION
*----------------------------------------------------------------------*
* CLASS lcl_alv IMPLEMENTATION
*----------------------------------------------------------------------*
* ALV操作类(实现)
*----------------------------------------------------------------------*
CLASS lcl_alv IMPLEMENTATION.
*取得要显示的数据
METHOD getdata.
SELECT * INTO TABLE lt_tab FROM spfli.
ENDMETHOD. "getdata
*ALV处理方法
METHOD alv_process.
"创建实例
TRY.
cl_salv_table=>factory(
IMPORTING
r_salv_table = gr_table
CHANGING
t_table = lt_tab
).
CATCH cx_salv_msg.
ENDTRY.
"显示列表
gr_table->display( ).
ENDMETHOD. "alv_process
*主方法,整合数据
METHOD main.
DATA: lt_tab TYPE TABLE OF spfli.
"取得要显示的数据
lt_tab = me->getdata( ).
"处理数据
me->alv_process( lt_tab ).
ENDMETHOD. "main
ENDCLASS. "lcl_alv IMPLEMENTATION
*报表执行
start-of-selection.
data lr_alv type ref to lcl_alv.
create object lr_alv.
lr_alv->main( ).
关于ALV的最全文档可以参考SAP Help
http://help.sap.com/saphelp_nw70/helpdata/EN/5e/88d440e14f8431e10000000a1550b0/content.htm
OO实现ALV TABLE 一:最简单的ALV显示相关推荐
- OO实现ALV TABLE 四:ALV的显示样式
通过类CL_SALV_DISPLAY_SETTINGS我们可以设置ALV的显示样式,主要包括ALV表头名称,列表颜色间隔显示,水平线是否显示,竖线是否显示等. 1.首先我们要取得类CL_SALV_DI ...
- 【转载】SAP OO ALV 在自定义屏幕上添加ALV控件 一个屏幕上使用2个ALV
终于完成了 OO ALV的学习,第一个作品. 一个屏幕上放了2个ALV控件,上面用来显示表头,下面用来显示详细的行项目. 业务背景: 在汽车的售后服务环节,汽车零件在质保期内损坏,维修产生的费用,整车 ...
- WDA学习(9):Use an ALV TABLE in WDA
实例展示如何使用ALV TABLE在窗口显示航班信息. 1.创建Web Dynpro Component. 2.创建Component Usage,使用SALV_WD_TABLE组件 Context页 ...
- 查找表(LUT,Look-up Table)的简单理解
查找表(LUT,Look-up Table)的简单理解 引入:假设有一个 4 输入(a,b,c,d) 1 输出(o) 的逻辑单元,想要了解其内部结构. 输入按照 0000-1111 去遍历,记录输出. ...
- alv布局 sap_ABAP报表开发:ALV运用
一.ALV是什么? ALV(SAP LIST VIEW)是一种比较美观的报表显示工具,具有网格显示方式,有排序.筛选.过滤.(分类)汇总等功能,数据以单元格为单位显示. 二. ALV实现方法 ALV的 ...
- labview实现简单的图片显示
labview实现简单的图片显示 标签(空格分隔): labview 笔记 图片处理 按说这并不是什么复杂的问题,但鉴于网上除了官方的帮助外很少有资料,而且我认为又是入门的非常好的例子,故按自己的学习 ...
- TensorFlow与OpenCV,读取图片,进行简单操作并显示
本文是OpenCV 2 Computer Vision Application Programming Cookbook读书笔记的第一篇.在笔记中将以Python语言改写每章的代码. PythonO ...
- Vue过滤器的简单使用--实时显示格式化的时间
Vue的过滤器的使用是在{{}}插值的尾部添加一个管道符 | 过滤的规则是自己定义的,通过给Vue实例添加选项filters来设置 通过过滤器对时间进行格式化从而实时显示时间 <!doctyp ...
- 安卓APP_ 控件(11)webView —— 简单应用:显示网页
摘自:安卓APP_ 控件(11)webView -- 简单应用:显示网页 作者:丶PURSUING 发布时间: 2021-05-11 11:50:52 网址:https://blog.csdn.net ...
最新文章
- 我用python10年后,我发现学python必看这三本书!
- 有哪些适合远程办公的软件值得推荐?
- zk Acl权限:只有一个账号有crdwa权限,匿名用户只有r权限
- mysql slave 线程 简书_MySQL主从复制(Master-Slave)实践
- Emmet插件:HTML/CSS代码快速编写神器
- Thymeleaf页面三元运算符
- Android Studio开发第二篇创建新项目
- TikZ绘图示例——尺规作图: 圆内接正五边形的近似画法
- R语言含中文数据导入的方法
- 半小时入门MATLAB编程入门基础知识:
- linux安装配置nginx
- C#中用WinAPI调用外部程序
- Python openpyxl文档
- Django中ForeignKey和ManyToMany使用探究:
- win7无法打开计算机共享文件夹,Win7共享文件夹无法访问怎么办
- Nebula Graph 在企查查的应用
- 线上故障等级和处理规范,看阿里测试工程师如何拿捏
- sql面试题,查询出每班每科最高分的学生
- 替代满足、稀缺冲动、从众效应、思考快与慢就不怕退货吗?
- CSS(层叠样式表)知识
热门文章
- jquery-1.10.2 获取checkbox的checked属性总是undefined
- 从普通JAVA程序员到阿里P8架构师,他用了六年
- kubernetes dashboard backend源码剖析
- The hierarchy of the type is inconsistent
- Java 异常(Java Exception)(一)
- manual start user profile import
- 2- 计算机的组成,VMware使用
- c语言程序设计第1章
- Flutter 入门指北(Part 13)之网络
- 你到底有几个邮箱?码云账号增加多邮箱支持!