本节开始介绍SAP报表开发中的一种常用报表-ALV.
在讲解ALV报表前,先了解一下一些基本知识。
一、事件
1、ABAP是事件驱动程序,对于不包含自定义屏幕的普通报表,其代码结构主要中的主要处理块为报表事件块。因此,对于报表的开发,所有需要实现一定功能的代码都必须隶属于某个事件块。
2、通常设计报表要通过选择屏幕的输入到相应的数据库表中获取数据得到报表,因此,报表设计又和选择屏幕事件联系在一起。
3、事件分类:
1>.报表过程事件
INITIALIZATION:初始化事件,通常用于选择屏幕中字段默认值填充等.
START-OF-SELECTION:选择开始事件,通常在该事件中进行数据逻辑的处理。注:如果程序中的部分代码不隶属于任何其他事件,则自动被归入该事件块中。
END-OF-SELECTION:选择结束事件,一般在该事件中输出列表(若程序中使用逻辑数据库,则在所有逻辑数据库处理结束后才触发)。
2>.选择屏幕事件
选择屏幕事件中的事件在INITIALIZATION之后START-OF-SELECTION之前被触发。
AT SELECTION-SCREEN OUTPUT. 选择屏幕的PBO事件,显示选择屏幕之前触发。可以用来控制选择屏幕,如在该事件中更改屏幕的可编辑性,loop at screen. …… endloop.等
AT SELECTION-SCREEN.选择屏幕的PAI事件,是在选择屏幕中输入后执行,通常在该事件中对用户的数据正确与否进行判断。
3>.列表事件
在所有报表过程和选择屏幕事件结束后,系统才开始触发列表事件。主要有以下四个:
TOP-OF-PAGE:页眉控制,在每个新页面开始时触发。
END-OF-PAGE:页脚控制,在当前页面结束前触发。
AT-LINE-SELECTION:行选择控制,选择某列表行时触发。
AT-USER-COMMAND:用户交互控制。
(还有一个逻辑数据库事件,由于不常用就不介绍了,通常该事件在HR开发中有使用!)
---------------摘自 黄佳 《SAP程序设计》