什么是ALV报表

AVL报表是ABAP最重要的报表工具,其英文全称Abap list viewer,其输入结果以行和列展示,集成的功能有排序,求和,过滤,列求和,隐藏等,输出的格式也有EXCEL,水晶报表,CSV文件等,然后展现的方式有简单list,连续等级list,树等。
在SAP的开发中,可能有50%是ALV的开发,所以对ALV的掌握很重要。 SQVI也可以做一些简单的报表.

以下是来自SAP官方的定义
Introduction
The SAP List Viewer is a generic tool that outputs data in a table form (rows and columns), with integrated functions to manipulate output (sort, totals, filter, column order, hide, etc.) and export it (Excel, Crystal report, CSV files, etc.) It is also possible to make ALV editable via ALV control.

ALV name comes from “ABAP List Viewer”, as named initially because it was only available in ABAP. It is now a more general concept, which is available in java too (since 7.1).

ALV tool proposes 3 display types (schemes are taken from the SAP Library - An Overview of ALV Tools) and in several technologies:
在这里插入图片描述
Technologies:
List
Control Framework
In SAP release 4.5b was introduced the Control Framework. A control was made available for ALVs, known as ALV grid. It can be used in 3 ways:
Direct use of control
Function module wrapper. It may be used in full screen mode, which means that the buttons are displayed in the application toolbar, and also in popup mode.
Object-oriented wrapper, since basis 6.40. Full screen and popup are also available.

Web Dynpro
Web Dynpro for ABAP
Web Dynpro for java (since NetWeaver 7.10)
Links

ALV的实现方式

  1. call function :面向对象的编程;
    ALV组成3大部分
    工具栏
    标题栏
    用于显示数据的网格控制器

开发ALV的基本流程
第一步:声明变量
定义alv所要用到的类型池:
针对ALV的控制信息数据
第二步: 定义内表
存放自定义数据文件的数据,以及在ALV中显示
第三步:读取数据
读取数据存放至internal table
第四步:ALV格式控制
建立AVL显示样式(layout)和显示字段清单(Field Catalogs) :具体就是整个字体的显示和每个列的显示。
第五步: 定义事件(Reuse_alv_events_get)
建立事件清单(Event Catalogs)
第六步:显示ALV
调用Alv Function Module
第七步:用户事件;
定义user按键处理事件

链接原则

1.尽可能以主键为链接条件,不然有可能有重复的项目
2.设计的时候,越简洁越好;显示的时候应该越全面越好;

以下函数用到的事件
REUSE_ALV_EVENTS_GET
USER_CINNABD
TOP_OF _PAGE
PF_STATUS_SET

关于函数
点到函数里去,然后导入部份可以实现这个功能。

数据库提交
if sy-surbc =0.
commit work ,
else.
rollback work.
endif.

ALV的定义及调用-- 注意事项
1.在ALV中,需要注意所有需要显示的列,都必须在相应的内表中有对应的字段,字段名字不能写错。
2.在SAP ABAP中, 字符串的大小写很重要,在单引号包围的字符串中,一般来说都应该用大写,特别椒在调用一些系统的方法时传入字符串参数时。
3,传入到ALV中的列对应的字段名称也必须使用大写字母,否则数据不会显示出来。
4, 使用宏定义要么子例程也可以减少量,并尽可能实现代码的复用。
5. 注意在FORM里定义的变量在离开FORM后,就会被系统释放掉,回收内存空间。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值