动态报表简介
无峰 ABAP开发技巧 1周前
前言:
经过大量报表开发后, 开始思考所有这些报表的共同特性,总结如下:
大部分的报表开发都是明细报表开发, 通过查询条件查询中表中符合条件的数据,ALV呈现出来
大部分的明细报表,如果限制条件太少, 会呈现大量的数据, 用户很难在大量数据中查看所需的部分
偶尔会有用户提出开发层级报表,用户可以选择按统计显示,还是按明细显示,并且统计显示时,能选中行查看选中行的明细
大部分报表用户都希望可以通过双击字段跳转到特定的事务代码显示单据或主数据(准从SAP标准功能)
报表都需要授权关系,用户只能查询有授权的数据, 授权字段一般是单据类型,组织机构(如地点,公司代码等)
基于上述总结,再结合系统的标准QUERY功能及SE16N功能,再加上动态选择屏幕及动态SQL语句,开始了动态报表的开发,开发过程中碰到很多技术问题,进过冥思苦想, 都一一解决了. 同时在这个过程中进一步扩展了动态报表的一些功能. 最后碰到一个很难绕不过去的坎.
这个坎就是关于ABAP代码的共享特性,该特性使得开发用户基本上可以查看,复制,粘贴几乎所有的标准程序以及从项目中看到的优秀的程序.这个特性是SAP制定的(标准SAP功能没有提供代码的加密,保护,SAP不担心用户查看标准代码,因为标准代码量太大了. 并且标准代码基于SAP NETWAVER平台,用户必须购买安装了这个平台,开发的ABAP代码才有价值).但是这样就基本阻止了第三方基于ABAP开发产品的热情. 你开发出来的代码,可以被客户看的清清楚楚.辛苦完成的工作,很容易就成为了别人的嫁衣.
分享是好事,但是无限的分享变成了开发进一步完善代码的阻隔.就变成不那么好的事情了.
所以开发动态报表的时候,同时也考虑了源码的保护及软件授权管理,这才是开发中碰到的最大的问题.所幸最后完成了这部分功能. 才促使我通过微信公众平台展示分享动态报表(也希望在分享的过程中能获取一些收益,为更好的完善这个动态报表提供动力)
所有提供的动态报表安装包中,没有包含代码的明码部分. 只提供编译后的程序文件, 通过导入到ABAP编译库实现程序的执行. 这样也会导致安装过程多了几个步骤.
动态报表的价值
进过一段时间的使用(我目前的报表开发尽量使用动态报表,基本上可以完成90%的报表开发任务),总结出以下的应用价值
动态报表是实现项目无代码的实施的一种尝试,任何人员通过授权(包含TCODE及表内容的查询授权),都可以开发出高质量的报表,极大的简化了项目的报表开发,缩短开发周期.
动态报表提供了一个工具,可以快速分析数据.比如:我要查询系统中所有的移动类型及出现的频次,可以输入MSEG表,勾选移动类型输出, 就可以立即获取结果.如果使用其它方法,需要花费的更多的时间或者需要一定的SQL技能
动态报表提供了一个分析平台,你可以把所有的临时数据分析行为保存记录下来,并且随时可以调出之前的数据分析
动态报表提供了一个快速报表开发工具, 可以快速实现一个报表的开发部署
动态报表提供了一个报表规范,所有动态报表开发的程序,都具备汇总->明细功能. 该规范可以逐渐培养用户查看报表的行为,先从特定纬度查看汇总数据,再选中行查看所需的明细.这样做避免一次性获取过多的明细内容,极大优化了对服务器资源的耗用. 并且用户也能更快的获取报表的响应(基于HANA数据库强大的汇总功能,汇总数据可以极其快速的响应)
动态报表允许开放用户设计功能. 这样用户可以基于数据基础,自行设计并保存个性化的报表.(增强的变式功能),减少用户报表需求对开发人员的依赖.
动态报表借鉴并扩展了ALV的变式功能,可以让用户进一步通过变式保存更多的自定义设计,(变式功能也允许全局变式,其它用户也能载入全局变式)
动态报表提供了一个监控功能. 可以定期刷新查询的结果,可用于后台处理的监控,或者系统报错的监控等
动态报表提供了一种统计核对功能,该功能可以快速实现两份数据基于特定纬度的统计结果的比对,比如:从其他系统抽取一份销售明细,和系统中的发票明细按照地点/日期纬度统计数量,金额,比较结果是否一致
动态报表结果内部性能优化,解决了因为开发人员能力导致的报表质量不稳当对服务器性能的影响.
动态报表的功能点介绍
常用功能:
Ø基于表/视图或表连接建立查询(可以对表/视图进行授权管理,以控制用户的查询行为)
Ø统计/明细两层输出(改变用户输出习惯,先快速查看特定纬度的统计信息,再针对特定统计条目查看明细)
Ø双击跳转(无需配置,通过对单元格的双击,可以自动识别并跳转到常用的主数据/单据显示界面)
Ø关键字段附带描述(关键字段,比如单据类型/组织机构通过配置通用码表,可以快速附带描述)
Ø默认选择控制(可以限定强制选择条件)
Ø默认选择不允许修改(可以控制选择条件不被用户修改)
Ø标准授权功能(通过标准授权对象的检查,判断用户是否有权显示特定数据)
Ø自定义授权功能(通过一套自定义授权体系,快速针对用户/用户组授权并控制报表显示内容)
Ø列颜色(可以自定义列颜色,定制个性化的报表功能)
Ø字段描述快速调整(字段描述可以自行调整)
Ø字段输出顺序可快速调节
Ø查询设计保存(包含版本功能,记录了查询的每次修改,可以快速返回到之前的版本)
Ø查询快速部署(查询保存可以生成一个TCODE并写入传输请求)
Ø更全面的变式功能(用户可以在设计基础上定义并保存自己的变式(包含选择条件,字段描述,选择内容,查询结果,明细结果等))
Ø数量/金额字段的特殊处理(解决SAP数量,金额字段退货取负数的设定)
进阶功能
Ø跳转到其它查询(通过简单配置,可以从一个查询选中行跳转到相关其它查询,并且只获取和选中行相关的数据)
Ø查询合并(通过简单配置, 可以把多个查询的结果通过主键关联到一起,显示一个综合查询结果)
下载链接:
https://pan.baidu.com/s/1yHongiCSNpK8V8Be6OwkCw
提取码:dtbb
公众号: syjf1976_abap
网友评论