最近在做的HR系统迁移项目,因为客户使用SAP ERP系统已经10年以上,所以可以说是把HR相关的ALE接口都涉及到了。自我感觉这个项目的经验是值得一写的。如果以后很长时间不再做这种项目,很多要点容易忘记,趁现在还记得清楚赶紧把主要的点写下来。

1. 人事主数据接口配置

这里的人事主数据包括了组织和员工,也就是PD信息类型和PA信息类型。这个接口最基础的文档可以在ECC系统中找到,事务代码SALE。

如果接收方是CRM/EBP系统,Message Type就用HRMD_ABA,如果是其他ERP系统就用HRMD_A。

发送人事主数据使用事务代码PFAL。第一次发送选择Transfer Mode = Insert。发送增量数据选择Transfer Mode = Update,也可以用事务代码BD21来实现。PFAL里面的Receiving System必须正确配置Distribution Model才能够选择。

Distribution Model在事务代码BD64里进行配置。Model配置好后可以Distribute到接收方系统。还可以Transport到测试和生产系统。

Model创建后,通过程序RBDCUS15生成Partner Profile。前提条件是Partner的名字与RFC Connection的名字是相同的。RFC Connection在事务代码SM59中配置。

如果想自己手动创建Partner,那么要掌握好Partner, Message Type, Process Code, Port, RFC Connection的概念和关系。现在有Google上有的是相关资料,只需要拿着这几个关键字来所搜,这步并不难。

人事主数据的Change Pointer设置有两处。组织信息类型使用事务代码BD52设置,人事信息类型使用表视图V_T585A设置

2. 人事主数据接口测试

测试中要做的步骤很固定。PFAL/BD21发送数据,WE02检查发送日志,WE02检查接收日志,PA20/SE16检查数据

如果没有成功,第一步就是查看IDOC的状态。新手常见的问题是Partner的配置中没有选择Trigger Immediately。

如果对象被锁住,也会导致IDOC失败。这种情况可以手工运行BD87重新执行一次。在正式系统中可以设置后台作业每过一段时间自动执行。

如果是其他错误,可以使用设置断点并且使用事务代码WE19来测试。

3. 人事主数据接口增强

ALE接口有一套完整的增加字段的方法,也能够Google到。文本字段就是这样添加到人事主数据接口里,比如员工所在的公司名。

HRMD_A里没有的信息类型,只能是通过增强来实现。要自己在事务代码WE31中创建Segment,在事务代码WE30中扩展IDOC Type,在事务代码WE82中扩展Message Type。在事务代码PM01中把新的Segment与信息类型关联起来。

就我的经验来说,还需要实现出口EXIT_SAPLRHA0_004。最后容易忘记的是检查Partner中是否使用了新的增强。

人事主数据中有些字段是敏感的,甚至有政策规定不能随意发送的,比如信息类型IT0002中的字段。在HR系统中通过实现BAdI HRALE00OUTBOUND_IDOC来清除掉敏感字段的值。

4. HR系统迁移中的特殊问题

这个项目是把HR模块从ERP系统中迁移出来,原来的人事主数据还存在ERP系统中,新的HR系统的人事主数据是拷贝的。这种情况有2个额外的步骤需要做。

在新HR系统中对所有的对象O,S,P,C,CP,Q运行程序RHALEHRMDORIGINIT。这个程序会修改表HRMDORIGIN,然后HR系统才能发送旧员工的数据改动。

在旧ERP系统中修改表视图T77S0,不激活ALE REPLI和ALE REPPA 。然后ERP系统才能接受旧员工的数据改动。

5. 其他的BAPI接口

首先最大的感受是BAPI接口主要是用在交易型业务上,比如工资与财务接口,HR与考勤机接口,HR与CATS接口,HR与Travel接口。其次是BAPI的配置实际上很少,主要就是改一改Filter。

要注意BAPI接口所使用的RFC Connection要与IDOC用的不同,要单独配置。使用事务代码BD97。

6. 总结

还有很多内容没有写下来,比如Import Lock,Reduce,Serialization,工作流等等。这是因为ALE接口涉及到的内容确实很丰富,要想面面俱到不是一篇文章能做到的,就先写到这里为止。

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply