XX公司BOM导入接口执行逻辑汇总

  • 格式:pdf
  • 大小:156.22 KB
  • 文档页数:5

XX公司BOM导入接口执行
逻辑汇总
编制日期2015-1-22
编制人金蝶项目组张健
接收日期
接收人
一、前言
XX公司产品设计工作已全面应用CAXA的PDM系统,该系统能够将设计图纸转化为产品结构目录树(即设计BOM),为了能够迅速将设计BOM转化为ERP系统中的制造BOM,为此与CAXA项目组联合开发了BOM 接口程序。

该程序由两部分处理逻辑组成,即:
写入前处理逻辑:即指由PDM系认向中间表(SQL数据库所
建的中间表)写入之前的处理逻辑,包括在写入过程中根据
分类信息(标识)的不同进行扁平化处理,处理完成后写入
中间表;
读取逻辑:即指EAS系统从中间表中读取数据形成ERP系统所
用的制造BOM。

在读取过程将执行一系列数据校验逻辑。

总体架构如下图所示:
二、写入前处理逻辑
1、分类信息(标识)的含义
在PDM系统中,物料分类信息及其含义如下:
W:指外购件,包括工艺性外协件;
Z:指自制件,包括生产性外协件;
Q:即不需要写入中间表的物料。

比如某工艺性外协的物料
A,在设计时指定了其所用的下级物料(如M),但该物料
因为是工艺性外协,即需要外购,所以只需采购A,而不是
采购其下级物料M,所以此时可将M标识为Q,不写入中间
表,而把A标识为W写入中间表
ZL:自制保留件。

即扁平化后需要保留的自制件,其本身及
下级物料中的外购件及需要保留的自制件节点都写入中间
表。

2、扁平化逻辑
标识为W,写入中间表,其定额不变;若其还有下级物料,
则自动扁平,即其下级物料不写入中间表;
标识为Z,扁平,不写入中间表,其下级物料升级至该被扁
平物料的当前级次,其下级物料定额=被扁平的该级物料定
额×当前下级物料定额
标识为ZL,保留,其定额=上级父项物料定额(含标识为Z)
连乘×本级定额
标识为Q,去掉,不写入中间表
以下图一设计BOM为例说明(图中乘号及后面数字表示其定额)
处理逻辑解析如下:
1)某型CVT产品,其标识为ZL,写入中间表,定额=1
2)外购件A,其标识为W,写入中间表,定额=10
3)外购件B,其标识为W,写入中间表,定额=10
4)自制件C其标识为Z被扁平,不写入中间表
5)外购件D其标识为W,写入中间表,升级,定额=2×5
6)自制件F其标识为ZL,保留且升级,写入中间表,定额=2×4
7)外购件G其标识为W,写入中间表,定额=3
8)工艺性外协件H其标识为W,写入中间表,定额=2
9)外购件I其标识为Q,去掉,不写入中间表
三、读取逻辑
设计BOM执行读取前处理逻辑后写入中间表,即执行读取逻辑。

执行逻辑包括如下:
工号校验逻辑:首先校验中间表工号字段workno值是否在
EAS系统存在,若不存在,EAS校验日志将报该工号不存在,
若是按工号导入方式,则当前工号的所有记录全部不导入;
物料编码取值逻辑:
1)父项物料编码优先取中间表字段fxwljtbm值,如该字段为空,则取字段
ParentMaterialNo(即父项物料代号)值;如中间表父项物料
代号字段出现图号+“-”+后缀字符串时,读取时则截去“-”+后缀
字符串,只读取图号;如果按照该逻辑读取的父项物料编码在
EAS系统中没有维护,则在校验日志中报“XX物料编码不存
在!”;
2)子项物料编码优先取中间表jtbm值,如该字段为空,则取字
段ChildMaterialNo
(即子项物料代号)值;如中间表子项物料代号字段出现图号
+“-”+后缀字符串时,读取时则截去“-”+后缀字符串,只读取图
号;如果按照该逻辑读取的子项物料编码在EAS系统中没有维
护,则在校验日志中报“XX物料编码不存在!”;
3)若中间表字段fxwljtbm、ParentMaterialNo、jtbm、
ChildMaterialNo同时为空,
说明中间表出现BOM上下级关系丢失的错误,EAS校验日志报“存在父(子)项代号与父(子)项物料集团编码同时为空的记录,请检查!”。

校验日志报异常的处理机制
1)如果采取按工号导入方式,在校验日志中只要报出工号、或父项或子项物料编码、或“存在父(子)项代号与父(子)项物料集团编码同时为空的记录,请检查!”的情况时,则该工号的整套BOM记录都不导入;
2)如果是采取批量导入,发生上述情况时,则全部未导入工号的所有BOM记录全部不导入。

子项物料定额取值逻辑:
1)优先取中间表字段gyde值,同时将该子项物料在EAS系统物料编码中定义的损耗率写入制造BOM中的“损耗率”字段;
2)当中间表中工艺定额字段(gyde)值为空,且重量字段
(Weight)与装配数量字段(ChildNumber)值同时不为空
时,判断该子项物料在EAS系统中的计划资料中的生产计量单位是否为公斤(或克),若是,取重量(Weight)字段值;若否,则取装备数量(ChildNumber)字段值;此为第二优先;
3)当中间表中子项物料工艺定额(gyde)字段值为空,且重量(Weight)字段或装配数量(ChildNumber)字段有一方为空值时,取不为空值的字段值。

此为第三优先。

关于8K件
1)当发现同一工号的记录中有父项物料集团编码(fxwljtbm)为121开头(即电压式互感器和电流互感器产品)的,对其中的子项物料编码(childmaterialno)左类似8KF且分类(fl)为w 开头的记录,将该记录的子项物料集团编码(jtbm)清空,工艺定额(gyde)设置为0;
注:由于8K工艺性外协件仍需在PDM中标明所需材质和工艺定额,但采购时将采购该8K件本身,故由上述逻辑实现。

2)当发现其中的子项物料编码(childmaterialno)为8KF开头且分类(FL)为ZL的记录时,在此记录行后新增一行记录,新增行父项代号(或父项物料集团编码)取自上行记录的子项代号(即8K件图号),新增行的子项物料集团编码取自上行的子项物料集团编码,由此形成上下级关系,新增行的重量、工艺定额全部取
上行对应字段值,同时将上行的子项物料集团编码(JTBM)清空,重量(WEIGHT)设置为0,工艺定额(GYDE)设置为0。

关于订单BOM与蓝图BOM的导入逻辑
由于西容产品BOM多是由订单BOM与蓝图BOM混合组成的,因此在导入时需要分别导入到EAS的订单BOM与标准BOM中。

具体导入方式设计如下:
1)检查父项物料集团编码(或父项物料代号)所对应的EAS系统中的物料编码的制造策略;若制造策略为MTS10,则导入到标准BOM中(即蓝图BOM)。

蓝图BOM导入时,判断是否已经导入,若已经导入(判断标准是存在以相同物料编码作为父项物料的保存或审核状态的BOM),则不再重复导入,导入标志设置为3,同时校验日志提示“已存在物料编码XXX的BOM”。

2)如果制造策略为MTO20,由于存在着以MTO20策略物料作为蓝图BOM的情况,故在按工号方式导入时,系统将提问“是否导入蓝图”勾选项,默认为订单,即不勾选;勾选时,则导入到蓝图BOM中。

注:MTO20策略的物料导入到蓝图BOM时仍执行是否已存在相同物料BOM的判断逻辑。

关于导入标识取值的判断逻辑
1)不论是导入订单BOM还是导入蓝图BOM,在本部组织导入成功后,则中间表记录行的YNleading字段值为1,未导入时为0;当向其他组织导入成功后,则中间表记录行的ifexport字段值为1,未导入时为0;
2)如果YNleading与ifexport字段值为3,则表明已存在蓝图BOM,系统不导入。