SF-HCI-SAP问题收集19:自定义MDF不生效 开始时间与结束日期映射逻辑

导读

INTRODUCTION

时间映射:原来做自定义MDF与SAP信息类型的时候比较担心的是effectiveStartDate与effectiveEnDate与HCM的begda与endda之间如何关联,今天遇到一个case,就是自定义的mdf无法传输到SAP系统,经过一天反复debug,终于找到问题,也顺便把这两个系统的时间如何mapping的逻辑也过一遍。effectiveStartDate与effectiveEnDate这两个日期一定要SFAPI底层存的是什么,有的前面会加MDFeffectiveStartDate,所以一定要看sf的log

作者:vivi,来源:osinnovation

一、故事背景:

   SuccessFactors新增一个自定义MDF对象,SAP新增一个信息类型,数据同步,但是开始导入SuccessFactors的元数据,发现一直缺少一个字段,字段名称是effectiveEnDate,开始也没注意,以为sap的标准逻辑不过有没有这两个字段,都会默认写,但是后来传输数据的时候,一直发现自定义的mdf无法传输到SAP系统。先说下结论,其实就是SuccessFactors在配置对象定义的时候effectiveEnDate字段有个属性visibilty设置隐藏,所以在导出元数据的时候,就没有这个字段。所以系统在找时间的时候无法effectiveEnDate与sap的endda匹配,所以后面就放弃映射。

图片

二、从代码分析逻辑:

代码从这个类开始,前面省去我一天无效的debug逻辑:cl_ecpao_in_ec_object-cook_i_ec_object最开始是直接把sf自定的mdf对象的effectiveStartDate与effectiveEnDate抓取。注意下图的时间是effectiveStartDate与effectiveEnDate,而不是HCM的begda与endda,所以需要早一次转换。

图片

转换逻辑在31行到34行,注意31行,如果上图中的ec_fld_name=ecpao_ectmpl-ec_fld_startdate,effectiveStartDate名字就会变成begda,因为c_begda=固定值begda。所以这里完成effectiveStartDate=begda,effectiveEnDate=endda

图片

图片

图片

三、总结:

所以如果是自定义的MDF传输,一定在HCM中配置的地方,需要注意红色框的地方,注意在下图中配置的ec开始日期与ec结束日期,即使这个地方配置effectiveenddate,如果在导入元数据的时候,没有把effectiveenddate导入到SAP系统,也是不会映射成功。所以以后传递自定义的MDF,一定要注意下图中的两点。

图片

图片

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值