改进报表性能关键是减少数据库访问次数和返回结果数量。对报表结果有实时性要求的可以使用Dynamic Selection,没有实时性要求的可以使用上一次运算结果。
1.使用Dynamic Selection(动态选择条件)
标准报表的运行过程分为两步,第一步是从数据库取出数据,第二步是在程序中处理数据。Dynamic Selection是在第一步时起作用,过滤掉不符合条件的数据。
以标准的报表员工生日查询S_PH9_46000221为例,选择按钮调用出动态选择屏幕:
其作用是读取国籍是CN的员工数据。
另外,标准的PNP选择屏幕有人事范围等选择条件,其原理应该和Dynamic Selection一致,即在报表运行的第一步起作用,对返回结果进行限制。
2.使用上一次运算的结果
SAP Query的运行结果可以保存,如果下一次查询条件一样而且对数据实时性要求不高,可以直接调用。
保存方法在上篇博文《【HR报表工具】4.输出格式的比较》中有介绍。
调用方法是在进入事务代码SQ01之后,选择按钮。
保存结果的命名非常重要!至少应该包含上一次运行的查询条件和运行时间。但标准功能是欠缺的。应该考虑自定义一张配置来关联这些信息,最好再客户化一个管理界面。
3.参考文献
|