Parallel Processing Technique in SAP using SPTA框架
原理很简单,同时能启动多个线程并行跑,但是ECP有个和其他模块区别的是,每次编辑员工需要加锁,所以并行跑的时候,要把一个人的数据放入到一个包,以防同一个人进入两个不同的包,相互锁的问题。
核心就是这个方法SPTA_PARA_PROCESS_START_2,启动线程
然后有三个回调方法F_BEFORE_RFC,F_IN_RFC,F_AFTER_RFC
F_BEFORE_RFC方法是主数据收集分发器,比如我有100条数据,10条一个包,分发一次我就要删除10条。
F_IN_RFC方法是业务逻辑处理层,HR_INFOTYPE_OPERATION函数就在这实现。
F_AFTER_RFC方法是处理返回信息及结果。
F_BEFORE_RFC逻辑:
F_IN_RFC逻辑:
F_AFTER_RFC代码:
效果展示:
开始15个线程,大约13分钟,如果开启20个线程大约10分钟。