1.5 更新内容(2018-02-08)
1、修复BUG:被监控的报表后台执行时,取计算机名和IP地址的代码会DUMP。已修复此BUG。
(设计时没考虑到对后台报表的监控,非常尴尬。在此特别感谢姜志远顾问反馈BUG和修复代码)
下载地址: https://pan.baidu.com/s/1jKmtAkQ
密码: j2u4
1.4 更新内容(2018-02-07)
1、增加功能:程序名增加搜索帮助
2、增加功能:日期可以通过左、右按钮调整了,使用更加便捷
3、增加功能:查看查询条件时,可以查看查询条件的描述了
4、增加功能:可以穿透查询程序了
5、修复BUG:删除日志时,输入YES点关闭,不会再删除日志了
说明:
对于第3条,如果是代码中为选择字段动态赋值的描述,则不支持。虽然我们可以通过READ REPORT读取程序源代码,但是动态赋值的方式可能有很多,可能是直接赋值字符串,可能是赋值常量,可能是赋值变量。所以此处只考虑维护在“文本元素”-“选择文本”中的描述。
下载地址:https://pan.baidu.com/s/1qZAT9gC
密码: gr25
1.3 更新内容(2017-12-28)
1、增加功能:切换布局,可切换为上下布局或左右布局的方式。
2、增加功能:查看转外码的数据。根据字段对应的EDIT MASK进行输出,方便查看有内外码的数据。代码里有小技能哦。
下载地址: https://pan.baidu.com/s/1qXNgg0W
密码: xvgm
1.2 更新内容(2017-12-13)
1、无效的执行会显示为红色,但是删除无效执行的LOG后,ALV第一行会变为红色。修复此BUG。
2、记录日志时,增加了TCODE、计算机名、IP地址等信息。修改了表结构、INCLUDE程序、报表监控主程序。
3、监控主程序中,展示某程序的执行明细时,改为默认按日期时间正序排列。
下载地址:https://pan.baidu.com/s/1bpJcJE3
密码: 5rrc
1.1 更新内容(2017-12-13)
1、修改了报表监控子程序,使用了BREAK-POINT AT NEXT APPLICATION STATEMENT语句,使得调试执行时更方便了。
点调试,然后进入报表选择屏幕,然后点执行,自动进入报表程序的监控开始位置。
2、修改了报表监控主程序,使平均时间和执行时间只显示3位小数。
下载地址:https://pan.baidu.com/s/1dFlioiH
密码: h3dj
背景及目标
本人目前在一个运维项目上,有大量二次开发的报表程序。为实现以下几个目的,我自己开发了一个报表监控程序:
统计报表运行次数
有些报表需求完成开发后,使用频率不高,在以后的工作中可以对类似的开发需求进行控制
统计报表执行时间
有些报表执行时间较长,需要了解报表的执行效率,并进行针对性的优化
记录报表查询条件
了解用户使用报表的方式,可以针对用户的使用习惯,对执行慢的报表做进一步的效率优化,或者针对其功能拆分为不同的报表
实现方式
本人不才,没有找到执行事务代码或执行程序的出口(如果有请大顾们留言告知,谢谢)。所以实现思路为:编写一段通用的子程序,在需要监控的程序中引入子程序,并调用子程序的方法。
补充说明:
1、考虑到不需要统计报表在查询界面、报表展示界面的停留时间,而只需要统计获取数据、处理数据的时间,所以上面提到的出口即便是存在,在此需求中也难以适用。
2、当时也想做成Function,但是因为个人习惯问题,还是做成子程序了。而且为了在更改原报表的时候尽量少写代码,我在子程序里又写了宏去调用form,这样只需要在原报表中写一行include和两行宏代码即可。
日志表结构
程序代码下载
链接:https://pan.baidu.com/s/1gf6HXwZ
密码: vvxc
使用方式
REPORT zz.
INCLUDE zabap_report_monitor_inc. "新加代码
START-OF-SELECTION.
d_monitor_start 'X'. "新加代码
"取数据
...
d_monitor_end 'X'. "新加代码
"显示数据
...
说明:宏的第一个参数为,是否立即执行COMMIT WORK。
效果展示
功能介绍
统计报表执行次数
执行中出现错误消息、或退出报表、或DUMP,均算做无效次数
记录报表查询条件
带选择条件执行原报表程序
带选择条件调试执行程序
按3次F5可进入原程序
日志删除
删除前,需输入“YES”确认,不可恢复
如有其他功能需求,欢迎留言反馈。
IOS/ANDROID用户打赏——赞赏码
领取专属 10元无门槛券
私享最新 技术干货