如何通过脚本将ERP物料、BOM的属性批量更新到PLM中原创
金蝶云社区-vicky_jiang
vicky_jiang
10人赞赏了该文章 2,205次浏览 未经作者许可,禁止转载编辑于2022年07月05日 16:19:04

ERP物料、BOM可通过PLM的“同步物料到PLM”、“同步BOM到PLM”同步到PLM这边,如果数据同步后,发现还需要再次修改PLM数据,可以通过脚本快速更新的。


ERP的物料表是:T_BD_MATERIAL   

ERP的BOM表是:T_ENG_BOM    

PLM的物料表是:T_PLM_PDM_BASE   T_PLM_PDM_BASE_0(扩展表)  T_PLM_PDM_M(拆分表)   

PLM的BOM表是:T_PLM_PDM_BASE   T_PLM_PDM_BASE_0(扩展表) 

ERP的物料与PLM的物料是通过T_BD_MATERIAL中的MATERIALID与 T_PLM_PDM_BASE_M中的FERPMATERIALID做数据关联的

ERP的BOM与PLM的BOM是通过T_ENG_BOM中的FID与 T_PLM_PDM_BASE_0中的FERPBOMID做内码关联的


假如是修改PLM物料数据,要先确定要修改的PLM字段在T_PLM_PDM_BASE   T_PLM_PDM_BASE_0(扩展表)  T_PLM_PDM_M(拆分表)哪张表中

如果是修改T_PLM_PDM_BASE中的字段,示例如下:

UPDATE T_PLM_PDM_BASE SET FXXXX=C.FXXXX  FROM T_PLM_PDM_BASE D,(SELECT A.*,B.FID FROM T_BD_MATERIAL A INNER JOIN T_PLM_PDM_BASE_M B ON A.FMATERIALID=B.FERPMATERIALID) AS C WHERE  D.FID=C.FID


如果是修改T_PLM_PDM_BASE_0中的字段,示例如下:

UPDATE T_PLM_PDM_BASE_0 SET FXXXX=C.FXXXX  FROM T_PLM_PDM_BASE_0 D,(SELECT A.*,B.FID FROM T_BD_MATERIAL A INNER JOIN T_PLM_PDM_BASE_M B ON A.FMATERIALID=B.FERPMATERIALID) AS C WHERE  D.FID=C.FID


如果是修改T_PLM_PDM_BASE_M中的字段,示例如下:

UPDATE T_PLM_PDM_BASE_M SET FXXXX=A.FXXXX FROM T_BD_MATERIAL A,T_PLM_PDM_BASE_M B WHERE A.FMATERIALID=B.FERPMATERIALID


特别注意:以上脚本方式只适合独立业务字段,如果要修改的字段还与其他字段由关联业务,请考虑其他方法,或者再特别处理关联业务数据。

赞 10