Complacency is the enemy of study
学习的敌人是自己的满足。
HCM 主数据不一致 !!!
SAP HCM的复杂点就是集成,所以如果数据一旦不一致,想找问题就特别困难,所以本篇文章就是分析一个真实的错误案例,帮助大家了解HCM主数据之间的关联关系,遇到数据不一致的问题,知道如何定位原因,如何修复数据,如果解决问题。 本次实例的起因是自开发的工资明细表中成本中心显示错误,因为开发的工资明细表中读取成本中心的逻辑是读取工资结果表的数据,首先读取C0,如果C0没有数据就读取WPBP的成本中心数据,这里介绍下C0与WPBP的概念,HCM的成本中有优先级,人员成本中心>岗位成本中心>组织成本中心,也就是说当你人、岗、部门都维护成本中心,人的成本优先级最高,人的成为中心维护到0027中,对应工资结果就是C0,岗位成本中心是维护新西类型1018,组织成本中心会写入PA0001信息类型中,对应工资结果WPBP。现在出现的问题是我没有维护0027的主数据,系统就自动生成C0表的数据,这样报表就一直是错误的显示。
1
问题定位
首先我们看看工资结果表的数据,工资结果中产生c0表的数据,但是实际情况没有维护0027的数据,所以现在就要知道这个C0是怎来的,我新增0027的数据发现一个奇怪的问题。
为什么有一条这样的数据,虽然这条数据就是我们错误的数据,但是为什么会产生这样的数据,所以最大的可能就是原来0027维护过一条这样的数据,然后删除,但是为什么既然已经删除,工资核算的时候还是会读取到呢,所以问题可能就是组织数据与人事数据不一致导致的,所以首先考虑的是排查PA0001与HRP1001这两个表的数据是否一致。通过下图中可以发现,PA0001表中是没有0068的成本中心,所以0027的成本中心肯定不是0001信息类型过来的,那数据肯定是HRP1001组织那边过来的,而且发现PA与OM的主数据是不一致的,PA这边的2023-12-08-2023-12-18的岗位是51041856,但是组织这边的岗位是51055776,所以看得出主数据不一样,可能导致读取的错误,那如何证明就是这个问题。
可以通过一个标准报表检查:RHINTECHECK,报表检查也是因为从这个时间段开始,人与岗位关系PA与OM数据不一致。
2.
数据修复
既然找到问题,那就是想办法去解决问题,报表RHINTE00可以修复PA与OM主数据差异的问题。
可以看出通过上述报表,系统会修正HRP1001的数据,注意:此程序是个后台任务作业,执行完以后需要在SM35中执行任务。
执行后,我们看看HRP1001与PA0001的数据就一致。
此时我们去执行工资核算程序,发现就不会有C0表的数据,这样系统就只会读取wpbp的成本中心数据,wpbp的成本中心数据来源都是信息类型0001的数据,所以问题到此结束。
3
总结:以后遇到此类的问题,我们首先关注的就是PA与OM的主数据是否一致,特别是做中台项目,前端自己的开发工具弄成一个界面,后面调用SAP的函数,创建好PA0001的数据,要去检查下HRP1001的数据是否更新成功,如果不成功,需要手动创建HRP1001的关系,Successfactors主数据同步到HCM也会出现此问题,出现此问题的原因比较多,总结就是人员主数据或者组织主数据锁定,导致数据无法同时更新两处,其实一致在考虑一个问题,就是SAP有没有报表检查写入PA0001数据时,HRP1001写入失败的原因记录日志,目前一致没找到,也希望有朋友能告诉我有此类日志的地方。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。