原文:Small Fire · 报表开发<概述> · ABAP 子专栏 · Small Fire 技术笔记

报表格式

  • 程序说明:包括程序名称,实现的业务功能等信息
  • 数据定义
  • Include内容
  • 定义选择屏幕
  • 执行程序业务代码
  • 创建TCode:SE93

执行程序的使用范围,报表事件

  • LOAD-OF-PROGRAM.

  • INITIALIZATION. //初始化事件,用来填充选择屏幕默认值

    • AT-SELECTION SCREEN ON fiedl. //在PAI事件结束后执行,进行校验和检查输入值
  • AT SELECTION-SCREEN ON VALUE-REQUEST FOR Z_XXX. //选择屏幕字段选择功能扩展

  • AT SELECTION-SCREEN OUTPUT. //(PBO)显示选择屏幕之前触发

  • AT SELECTION-SCREEN. // (PAI)选择屏幕中执行某些功能后触发

    • ​ PERFORM check_input.
  • START-OF-SELECTION.//Begin the main programer

    • xxxx
  • END-OF-SELECTION.

  • Interactive Eventrs. (User for interactive reporting)

报表程序大体逻辑结构

​ 抬 头: 报表的主要信息(抬头信息)

​ 行项目: 查询出的每行记录信息

​ 明 细: 每个行项目出关键字外其他明细内容

报表程序性能问题在业务层面的表现

1、报表查询维度多,不同的查询维度是完全不同的查询路径

​ 如果大量的查询逻辑和处理代码都是不同的,就应该设计成不同的查询报表。否则将带来极大的运维成本

2、报表展示维度杂乱,用户希望在一个普通 ALV 中展示,导致运算处理逻辑混乱、低效

​ 需求不规范,一般情况下一张普通的报表就应该只有一个维度,不同维度的应该用多个报表或者树状报表展示

3、业务逻辑复杂,取数过程繁琐,造成大量的性能问题

​ 可以根据具体需求,通过增强、自定义表等方式,在不同的业务数据间建立桥梁,简化业务逻辑,简化取数过程。