01Operation的作用首先我将谈谈我所理解的Operation的作用Operation 是 SAP HCM 薪资 / 时间计算的 “最小执行单元”负责对工资类型、时间类型、内部表进行读写、计算、判断、写入等原子操作。它被封装在PCR中由Function调用最终在Schema中按流程执行共同实现复杂的薪资与时间业务规则起。1.1 流程逻辑复用的力量Schema模式PE01按顺序执行的 ** 函数Function** 集合定义整体流程如中国薪资模式 CN01。Function函数Schema 中的步骤负责调用子模式、循环处理表、执行规则如 PIT、PRT、ACTIO。PCR人事计算规则PE02由多个 Operation 按顺序组成实现具体业务逻辑如加班计算、社保扣除。Operation操作PCR 中的最小执行单位完成单一数据处理动作。一句话总结Schema → Function → PCR → OperationOperation 是最终 “干活” 的最小单元。1.2 ADDCU功能介绍在HCM系统中ADDCU即是函数又是Operation两个名字是同名但是功能不一样函数的addcu是累计工资到CRT表operation的作用是把工资项目累计到101或者103工资项目虽然都是累计但是累计的地方差异很大。1.3 ADDCU引起的问题今天遇到一个非常奇怪的问题就是工资项目不会累计到/101(应发合计)与/103(应税合计)。导致实发数据是空。02解决思路这个问题也是第一次遇到所以一直以为是刚做的请求配置引起的错误反复去看自己请求中与更新101与103有关的配置但是并没有在请求中发现问题。addcu是读取累计类勾选的选项如果勾选就自动累计到对应的值这里的1其实对应就是/101,3对应就是/103,4对应/104.后面有沟遇到addcu就会累计到对应的工资项目。但是这个项目不生效思考很久都没解决方案其实经常遇到一个非常难解决的问题都会停下来逆向思维下就是反过来去想这个问题打勾是累计那不打勾是不是就不累计。于是我把这两个勾取消问题豁然开朗居然出现负数想到一点就是原来是不是正数与负数相同这样就是0所以不显示。