以前都是通过函数“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显示相关推荐

  1. OO实现ALV TABLE 四:ALV的显示样式

    通过类CL_SALV_DISPLAY_SETTINGS我们可以设置ALV的显示样式,主要包括ALV表头名称,列表颜色间隔显示,水平线是否显示,竖线是否显示等. 1.首先我们要取得类CL_SALV_DI ...

  2. 【转载】SAP OO ALV 在自定义屏幕上添加ALV控件 一个屏幕上使用2个ALV

    终于完成了 OO ALV的学习,第一个作品. 一个屏幕上放了2个ALV控件,上面用来显示表头,下面用来显示详细的行项目. 业务背景: 在汽车的售后服务环节,汽车零件在质保期内损坏,维修产生的费用,整车 ...

  3. WDA学习(9):Use an ALV TABLE in WDA

    实例展示如何使用ALV TABLE在窗口显示航班信息. 1.创建Web Dynpro Component. 2.创建Component Usage,使用SALV_WD_TABLE组件 Context页 ...

  4. 查找表(LUT,Look-up Table)的简单理解

    查找表(LUT,Look-up Table)的简单理解 引入:假设有一个 4 输入(a,b,c,d) 1 输出(o) 的逻辑单元,想要了解其内部结构. 输入按照 0000-1111 去遍历,记录输出. ...

  5. alv布局 sap_ABAP报表开发:ALV运用

    一.ALV是什么? ALV(SAP LIST VIEW)是一种比较美观的报表显示工具,具有网格显示方式,有排序.筛选.过滤.(分类)汇总等功能,数据以单元格为单位显示. 二. ALV实现方法 ALV的 ...

  6. labview实现简单的图片显示

    labview实现简单的图片显示 标签(空格分隔): labview 笔记 图片处理 按说这并不是什么复杂的问题,但鉴于网上除了官方的帮助外很少有资料,而且我认为又是入门的非常好的例子,故按自己的学习 ...

  7. TensorFlow与OpenCV,读取图片,进行简单操作并显示

    本文是OpenCV  2 Computer Vision Application Programming Cookbook读书笔记的第一篇.在笔记中将以Python语言改写每章的代码. PythonO ...

  8. Vue过滤器的简单使用--实时显示格式化的时间

    Vue的过滤器的使用是在{{}}插值的尾部添加一个管道符  | 过滤的规则是自己定义的,通过给Vue实例添加选项filters来设置 通过过滤器对时间进行格式化从而实时显示时间 <!doctyp ...

  9. 安卓APP_ 控件(11)webView —— 简单应用:显示网页

    摘自:安卓APP_ 控件(11)webView -- 简单应用:显示网页 作者:丶PURSUING 发布时间: 2021-05-11 11:50:52 网址:https://blog.csdn.net ...

最新文章

  1. 我用python10年后,我发现学python必看这三本书!
  2. 有哪些适合远程办公的软件值得推荐?
  3. zk Acl权限:只有一个账号有crdwa权限,匿名用户只有r权限
  4. mysql slave 线程 简书_MySQL主从复制(Master-Slave)实践
  5. Emmet插件:HTML/CSS代码快速编写神器
  6. Thymeleaf页面三元运算符
  7. Android Studio开发第二篇创建新项目
  8. TikZ绘图示例——尺规作图: 圆内接正五边形的近似画法
  9. R语言含中文数据导入的方法
  10. 半小时入门MATLAB编程入门基础知识:
  11. linux安装配置nginx
  12. C#中用WinAPI调用外部程序
  13. Python openpyxl文档
  14. Django中ForeignKey和ManyToMany使用探究:
  15. win7无法打开计算机共享文件夹,Win7共享文件夹无法访问怎么办
  16. Nebula Graph 在企查查的应用
  17. 线上故障等级和处理规范,看阿里测试工程师如何拿捏
  18. sql面试题,查询出每班每科最高分的学生
  19. 替代满足、稀缺冲动、从众效应、思考快与慢就不怕退货吗?
  20. CSS(层叠样式表)知识

热门文章

  1. jquery-1.10.2 获取checkbox的checked属性总是undefined
  2. 从普通JAVA程序员到阿里P8架构师,他用了六年
  3. kubernetes dashboard backend源码剖析
  4. The hierarchy of the type is inconsistent
  5. Java 异常(Java Exception)(一)
  6. manual start user profile import
  7. 2- 计算机的组成,VMware使用
  8. c语言程序设计第1章
  9. Flutter 入门指北(Part 13)之网络
  10. 你到底有几个邮箱?码云账号增加多邮箱支持!