当前位置: 首页 > news >正文

SF-HCI-SAP问题收集20:Metadata导入的时间格式错误问题

导读

INTRODUCTION

日期格式:每个系统都有自己的日期格式,Successfactors的日期格式和HCM的日期格式就不一样,所以此次出现问题就是时间格式的问题。effectiveEnDate导入HCM系统中出现问题,导致主数据同步失效。

作者:vivi,来源:osinnovation

一、传输配置大致流程:

SuccessFactors与SAP做数据集成,主要分几个步骤:

①从SuccessFactors中导出metadate数据,这个也叫元数据,记录successfactors的字段名称,长度等内容。

②在SAP中上传metadata数据格式,此次出现问题就是这个地方,因为effectiveEnDate字段在元数据中没有,所以手工加入,手工加的时候是复制上一条数据的格式,当时没注意。

③导出SuccessFactors的picklist清单。

④导入到HCM系统中。

⑤开始配置映射Successfactors与HCM字段的映射关系。

二、错误提示:

在tcode:SLG1中发现这个错误,这个好奇怪,把9999-12-31拆出这样的格式,当时没反应过来是元数据格式的问题。

图片

三、解决问题思路:(通用思路)

因为开始没想到是元数据的问题,猜想系统肯定是有转换,因为原来遇到过一次系统中间转换的案例,可以参考下:

布尔类型转换

vivi rsl,公众号:osinnovationSF-HCI-SAP问题收集17:值映射布尔型EC数据

我的解决思路就是找到SAP有个信息类型保存增强的地方,看看在增强的这个地方的数据格式是什么样,如果这个时候有错误,就往前去找问题的原因,因为有的信息没有增强,所以我下图是调用这个增强的地方。这样看调用这个badi的方法,具体的类是CL_ECPAO_IN_INFOTYPE,里面有个call_badi的方法。所以我只要看这个地方的内表中,发现在这个地方内表值的填充数据就错乱。这个badi是循环调用,因为sf的一个表可能对应sap多个表,所以在调用这个baidi之前已经把sf的表转换成一个个信息类型,有10个信息类型,那么这个badi就会调用十次,如果有些业务比较难搞定,就可以用这个badi增强去实现。其实sap在做这个数据集成的时候,有很多特定的规则我们可以使用,比如SAP银行信息的银行账号在SAP是两个字段,SF是一个字段,原来我使用过增强去解决问题,但是后来发现SAP有一个转换规则,他能写正则表达式,那这样很多问题就简单啦,

图片

图片

通过反推代码的方式,后来发现数据格式的问题,在导入元数据的时候,其实sf每个字段类型也会带进来,这个effectiveEndate的数据格式不是datatime的格式,导致数据在赋值的时候,出现数据的差异偏差。

图片


http://www.mrgr.cn/news/42488.html

相关文章:

  • 程序猿成长之路之设计模式篇——设计模式简介
  • python如何比较字符串
  • 【Git】vscode链接github拉去镜像
  • 梗百科——信号和槽机制
  • 【高频SQL基础50题】21-25
  • 【Docker从入门到进阶】06.常见问题与解决方案 07.总结与资源
  • 民峰:助力投资者实现财务自由
  • 【LeetCode】每日一题 2024_10_4 飞机座位分配概率(数学)
  • 浅谈memset和memcpy的区别
  • C++-容器适配器- stack、queue、priority_queue和仿函数
  • 昇思MindSpore进阶教程--在ResNet-50网络上应用二阶优化实践(下)
  • 多智能体协作强化学习中的知识共享
  • 【数据库】行式存储和列式存储
  • C++游戏开发
  • Spring Boot实现新闻个性化推荐
  • 构建古典舞艺术社区:SpringBoot平台开发指南
  • [机缘参悟-228] - 一个IT人如何理解:心不死,道不生?
  • 【JAVA开源】基于Vue和SpringBoot的宠物咖啡馆平台
  • 从零开始:SpringBoot实现古典舞在线交流平台
  • ICM20948 DMP代码详解(59)