关于s-HR与EAS集成编码已存在解决方案问题说明:s-HR与EAS在同步过程中,出现编码已存在的情况,导致员工、组织岗位在EAS中的状态与s-HR中的状态不一致。最典型的问题体现就是s-HR中某一员工以及离职,但是在EAS中无职位人员中搜索不到。解决思路:EAS与s-HR同步,是通过关系映射表中的记录进行关联。关系映射表为t_shr_idmapping,此表可以通过EAS查询分析器进行查询。表的列名和对应含义为:列名称含义说明finneridEAS同步数据idfouterids-HR同步数据idFbostype同步类型(组织:CCE7AED4;岗位:74AE612E;员工:80EF7DED)出现编码已存问题,在数据表中的体现是,EAS中的ID与s-HR没有形成对应关系,finnerid的值和fouterid的值没有一一对应,所以导致了这个问题。解决步骤:1.在EAS客户端中将同步模式由自动修改为手动。2.进入EAS客户端和s-HR客户端查询分析器界面。3.在EAS客户端查询分析器中查询同步数据的id。执行SQL语句(编码处替换为实际值):类型SQL语句组织select*fromt_org_adminwherefnumber='组织编码'岗位select*fromt_org_positionwherefnumber='岗位编码'员工select*fromt_bd_personwherefnumber='员工编码'将查询结果中的fid进行记录,为以下步骤做准备。4.在s-HR客户端查询分析器中执行与EAS客户端查询分析器相同的SQL语句,将查询结果中的fid进行记录。5.在EAS客户端查询分析中执行:select*fromt_shr_idmappingwherefinnerid='eas的那个人员id'orfouterid='shr的那个人员id'。将第3、4步查询出的id替换至此处。(此处一般查询出的是一条数据,如果查询出多条数据,需要核实查询条件;若查询条件无误,需要根据实际情况插入或删除记录;一般情况finnerid和fouterid的值都是s-HR中查询出的id值)6.在EAS客户端查询分析中执行:updatet_shr_idmappingsetfinnerid='eas的id'wherefouterid='shr的id'。更新t-shr_idmapping中fouterid对应finnerid的值。此处注意:一定要添加where条件。7.进入EAS客户端s-HR数据集成页签,点击处理按钮。若执行成功,则表示对应同步关系已经修复;若失败,则点击配置信息,进入同步信息配置页签,点击修改(不修改任何信息),点击保存,再此返回s-HR数据集成页签,点击处理,即可完成同步数据修复。解决步骤(以陈功名为例):问题界面:步骤一:在EAS查询分析器中,执行select*fromt_bd_personwherefnumber='001701'语句,查找陈功名的id。查找结果为:J74AAAAAwMmA733t步骤二:在s-HR查询分析器中,执行select*fromt_bd_personwherefnumber='001701'语句,查找陈功名的id。查找结果为:NvxNQ5IoRZOQJDllRTDUn4Dvfe0=步骤三:在EAS查询分析器中,执行select*fromt_shr_idmappingwherefinnerid='J74AAAAAwMmA733t'orfouterid='NvxNQ5IoRZOQJDllRTDUn4Dvfe0='语句。询结果中finnerid与fouterid内容相同。步骤四:更新t_shr_idmapping中finnerid的值为eas中对应的id。在EAS查询分析器执行updatet_shr_idmappingsetfinnerid='J74AAAAAwMmA733t'wherefouterid='NvxNQ5IoRZOQJDllRTDUn4Dvfe0='语句。执行成功后,可以通过执行select*fromt_shr_idmappingwherefinnerid='J74AAAAAwMmA733t'orfouterid='NvxNQ5IoRZOQJDllRTDUn4Dvfe0='语句判断更新是否成功。步骤四:在EAS下s-HR数据集成页签点击处理按钮。处理完成后,可在该页签看到处理状态修改为已处理。