业务场景:
某公司在做跨国调动业务的时候,在PA40做0000、0001、0002基础数据后,还需要做0041信息类型的日期数据导入,我们采用的是HR_INFOTYPE_OPERATION标准函数进行导入。跨国调动会由老工号产生一个新工号,需要将旧工号的日期数据带入新工号,但进入本公司的日期需要更新,此时需要将p0041的数据更新后,写入到新工号的信息类型中。
问题:
在前三步是用的BDC,这一步完全没问题,在执行标准函数时0041,会将老工号的数据带到跨国调动产生的新工号数据,由于需要更新0041某个日期类型,在读取旧工号的日期后赋值给新工号对应的日期数据,虽然在写标准函数之前做了更新,但还是被旧工号的数据覆盖。
分析:
由于是跨国调动,老工号与新工号有参考关系,所以SAP在做0000/0001/0002的时候将工号写入到了内存,在后续的各种信息类型写入的时候,还是原工号,所以想写入新工号的0041的时候,需要对内存进行更新或者清除。
解决:
在调用信息类型更新函数的时候,把内存更新掉。然后解决问题。