How to debug the employee master data replication from SAP SuccessFactors Employee Central to ECP
debug:在ecp与sf系统集成的时候,通过PTP的方式做数据集成,整体来说PTP的模式比CPI的集成包简单很多,因为大部门的字段都是固定代码写死的,只有部分字段可以配置,所以在集成过程中如果出现一些错误,需要专业的知识才能解决问题,但是有一些需要通过debug的方式才能找到对应错误的原因。
作者:vivi,来源:osinnovation
sap有个note是介绍如何debugptp的集成,消息号是3668781
调试准备
针对要分析的员工执行报表 RP_HRSFEC_REPLICATION_STATUS。
在输出表中,单击当前复制包的消息标识。
现在,您到达要复制的有效负载。
此 XML 包含来自 SuccessFactors 的信息,这些信息将映射并存储在 ECP 系统中。如果单击“模拟”,则可以模拟复制并进行调试。
如何设置断点
从头开始调试
在类 CL_HRSFEC_RS_UI_SIMULATE 的方法 SIMULATE_REPLICATION 中设置断点。
找出引发特定错误消息的位置
假设在复制后在事务 SLG1 中遇到特定错误。
要快速转到引发此错误消息的编码部分,可以执行以下操作。通过检查 SLG1 错误消息的长文本,可以派生其标识和编号(比较最后一个屏幕截图)。“消息编号”的最后三位是编号,即构成标识之前的数字。在上述示例中,标识为 "00",编号为 "058"。
按之前所述设置断点。
打开调试程序后,为此特定消息标识和编号设置断点。
设置此类断点并在调试程序 (F8) 中继续后,调试程序将在引发此特定消息时停止。
调试分离的信息类型框架
所有复制都有一个共同点,即在创建信息类型内容后调用分离的信息类型框架。在此框架中,每个信息类型 xxxx 都由类 CL_HRPA_INFOTYPE_xxxx(或 CL_HRPA_INFTY_xxxx)表示。这些类用于初始化数据、执行检查并将数据存储在数据库中。特别是,复制的应用程序日志(事务 SLG1)中显示的错误消息通常来自上述检查。因此,需要检查的编码部分是类 CL_HRPA_INFOTYPE_xxxx 的方法 SPECIFIC_INITIAL_COMPUTATIONS、SPECIFIC_INSERT_COMPUTATIONS、SPECIFIC_MODIFY_COMPUTATIONS 和 SPECIC_DELETE_COMPUTATIONS。例如,如果信息类型 0008 的插入逻辑存在问题,则应在类 CL_HRPA_INFOTYPE_0008 的方法 SPECIFIC_INSERT_COMPUTATIONS 中设置断点。
请注意,根据信息类型,可能还存在这些信息类型类的国家特定版本。对于信息类型 xxxx 和国家分组 yy,相应类将为 CL_HRPA_INFOTYPE_xxxx_yy。因此,如果在复制日志中看到国家/地区特定错误消息,则可能需要检查此类类。例如,如果为信息类型 0002 引发新加坡特定错误,则可以在类 CL_HRPA_INFOTYPE_0002_SG 的适当方法中设置断点。
中央编码部分
类 CL_HRSFEC_EE_MDR_MAIN 的方法 PROCESS_EMPLOYEE 是生成信息类型的中心位置。例如,如果您对个人信息信息类型 0002 感兴趣,请设置以下断点:
调试工资核算范围状态的评估
如果应复制属于状态为“已发布以进行更正”(事务 PA03)的工资核算范围的员工,则根据定制,复制将失败或成功(比较知识库文章 2504569)。如果行为不符合预期,则可以调试类 CL_HRSFEC_B2B_MESSAGE_LIST 的方法 ADD_ERROR_PAYROLL_CORRECTION。
分析来自 SuccessFactors 的数据
在准备步骤 2 之后,您手头有一个 XML 文件,其中包含来自 SuccessFactors 的数据。
可在此处查看与相应 SuccessFactors portlet 对应的不同标记。因此,如果您遇到与国家 ID 相关的问题,那么一个很好的起点是检查 national_id_card 标签的内容,以查看实际来自 SuccessFactors 的内容。
