SAP程序优化
从去年各子公司的SAP推广实施完成后,集团就一直在做SAP优化——“精益ERP”项目。
所谓精益ERP项目,实际上就是精益制造+ERP应用,将JIT、TOC、精益生产等生产管理方式与ERP的资源管理规划相结合,在降低成本、减少浪费、缩短加工周期等的基础上,以期获得更大的收益。
从ERP的深化应用过程来看,ERP与各类型的生产制造管理方式相结合,是必经的途径,不管是美国的大规模大批量的流水线生产方式,还是丰田的小批量多品种的生产模式,还是国内各制造行业自行摸索的“中国式”生产模式。只是现在国内能做SAP优化的咨询公司实在太少,尤其是结合精益项目的咨询公司,尤其是国内大型制造业没有一家成功实施了精益项目。所以,一直以来,这个优化项目就是IT部门和内部顾问根据每个模块的绩效指标在推动。
部门人员招聘从年头招到年尾,只见面试的、离司的,就没见入司的。因为人员不足,只得每天加班。(呵呵,好像这几年都是从年头加班到年尾) ,而绩效指标到目前为止,还没有一个模块有达到预期目标的,天天大会小会的开,事业部看到我们都头疼……
现将今年在优化过程中所用的内容总结如下:
1.使用正确的表。SAP有标准的索引表或者VIEW。参见sap notes 185530/191492/187906 LIPS 使用VGBEL不如先用VBFA表
2.使用正确的索引。好的索引非常好。不好的索引可能索引比表大,也有的索引让当前程序变快,其它的程序却变慢了。 新建索引转产以前都需要分析索引是否建的有效
3.多次存取数据库,不如一次存取批量的数据。尽量减少访问数据库的次数
4. LOOP里面不要写select查询
5. LOOP里面嵌套loop的时候,尽量减少外层的次数
6. 对于MSEG,MKPF,LIPS等表,尽量少用inner join。根据有利的筛选字段过滤较小的数据集以后,在内表处理
7. 多用for all entries,先做三步check:drive table是否为空;排序;去重(delete duplicate records)
8. 对于in range table的搜索,超过一定数据量就会出现dump
9. ST10分析那些是hot table,为这些表分配固定的缓存,提高缓存命中率,减少数据库访问次数。对于命中率低的表,单独建立较小的缓存区,防止覆盖hot table的缓存。DB02 分析哪些表的缓存效率好,哪些表的缓存效率低
10. 策略:不必为小概率的错误牺牲大量数据处理的效率。批量保存时,采用异步保存可以大大提高效率。可以通过事后纠错来减少数据不一致的情况。
ST05 – Trace requests
SE30 – Runtime analysis
SE38 -> Environment -> Perfomance examples
SE30 – ABAP runtime analysis
ST02 – Tune Summary.
ST03 – Workload Analysis (Tuning of buffers,.
ST04 – Database Performance Analysis.
ST05 – Performance Analysis (SQL Trace, etc).
ST06 – Operating System monitor.
ST07 – Application Monitor.
ST14 – Application Analysis.
关于赛锐信息
作为SAP的资深合作伙伴,赛锐信息是一家专业提供SAP行业化管理软件解决方案的顾问公司,致力于为企业提供SAP ERP系统咨询服务、IT规划、业务流程优化、信息系统实施、行业信息系统方案开发,运营外包及售后维护等全面的服务方案。已服务1000+家不同行业、规模的大中小型企业客户。在电子高科技、汽车零部件、印刷包装、医疗器械、快消品、专业服务等行业信息化管理领域具有领导性地位。