SAP HCM 组织增量解决方案

增量:今天遇到一个比较麻烦的问题,就是客户搭建中台,表结构和SAP的表结构一致,因为中台没有SAP那么多校验的逻辑,导致现在两边的主数据有差异,现在需要做个增量方案,SAP修改后增量传输给中台,中台的模式是先删除,然后插入,所以这个HRP1001表的数据传输就比较麻烦,今天分享下我的解决方案,大家有好的解决方案可以一起讨论。

作者:vivi,来源:osinnovation

1 增量传输

   首先增量传输我们首先要枚举出所有的业务场景,增量主要是新增、修改、撤销、删除这几种模式,因为SAP的业务主数据表非常多,所以我们需要找到一个通用的地方去抓取组织变换的数据。SAP有个增强点是当组织有变化时,增强是HRBAS00INFTY,分在就要分析新增、修改、撤销、删除,这个增强点有哪些数据可以使用。

图片

2 新增节点

 现在需要从51061815下面新增一个子节点1,首先我们需要从NEW_IMAGE系统抓取的数据找到INFTY=1001 SUBTY=A002的这条数据,用51080319=old_image-objid ,old_image-infty=1001 old_image-subty=A002去找是否存在,如果找不到,说明是新增,如果能找到,说明是岗位异动,然后用51061815到HRP1001中找SUBTY=B002有多少条数据,然后用51061815到hrp1001 subty=a002找到所有的数据,把这些数据合在一起发送给外围系统。因为中台是先删除然后插入,所以虽然我们只是新增2这个节点,但是要把51061815的上级节点(A002)和下级节点(B002)都要传输出去.

图片

图片

图片

图片

最后发送给外围系统的数据格式如下:

图片

图片

3 组织调级

      现在需要把21调整到1下面的节点,badi新增会抓取两条数据一条是新的父亲节点,一条是本身节点。

图片

图片

badi会抓取到变更的节点,B002是向下,A002是向上,首先我们需要我们通过A002这条数据到OLD_IMAGE new_image-objid=old_image-0bjid new_image-subty=old_image-subty=A002,如果存在,说明部门是调级,所以需要更新的节点就是三个 51080318、 51080319、51080320,这三个节点需要到HRP1001中找到下A002与B002数据。

图片

最后的推送的数据如下:

图片

图片

图片

4 组织失效

图片

图片

如果new_image-endda不等于99991231,说明组织撤销,所以把new_image表的数据根据ID、objid、infty=1001,去重,然后用每个ID到hrp1001找一次a002数据,b002数据,然后合并

图片

最后发送的输入如下:

图片

图片

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wl8511

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值