本文介绍了物料清单后台表结构的学习目标,包括掌握表结构及关键字段,解决业务变更时批量修改后台字段的问题。具体讲解了物料清单的六张表,并详细阐述了三张常用表的结构及关键字段。还提供了数据库后台关键字段的查询脚本及示例,以及批量更新物料清单发料方式、倒冲时机、仓库等字段的SQL脚本示例。
学习目标:
完成此课程学习后能够掌握物料清单后台表结构及关键字段
概要:
通过学习该课程,可以了解物料清单的后台表结构及关键字段;解决物料清单由于业务变更,需要批量修改发料仓库、发料方式、倒冲方式等后台字段。
物料清单后台表结构讲解:
1、如物料清单对应前台界面如下图如示:
2、物料清单主要有下面6张表
T_ENG_BOM:物料清单表头
T_ENG_BOM_L:物料清单表头多语言
T_ENG_BOMCOBY:物料清单联副产品
T_ENG_BOMCHILD:物料清单子项明细
T_ENG_BOMCHILD_A:物料清单子项明细拆分替代关系
T_ENG_BOMCHILD_L:物料清单子项多语言
下面主要讲解常用得的3张表T_ENG_BOM,T_ENG_BOMCHILD,T_ENG_BOMCHILD_A
2.1 T_ENG_BOM对应的后台数据库表结构及关键字段如下
2.2 T_ENG_BOMCHILD对应的后台数据库表结构及关键字段如下
2.3 T_ENG_BOMCHILD_A物料清单子项明细拆分替代关系对应的后台数据库表结构及关键字段如下
3、对应数据库后台关键字段查询脚本及对应的结果如下
select
b.FMATERIALID 物料内码,
b.FMASTERID 创建组织对应的物料内码,
b.FISSUETYPE 发料方式, --1 直接领料 2 直接倒冲 3 调拨领料 4 调拨倒冲 7 不发料
b.FBACKFLUSHTYPE 倒冲时机, --FBKFLTIME 2 汇报倒冲 3 工序倒冲
b.FOVERCONTROLMODE 超发控制方式, --最小发货批量 2 允许超发 3 不允许超发 4 按损耗率超发
b.FISMinIssueQty 最小发货批量, -- 0 不钩选最小发货批量 1钩选
b.* from T_ENG_BOM a
inner join T_ENG_BOMCHILD b on a.FID=b.fid
inner join T_ENG_BOMCHILD_A c on b.FENTRYID=c.FENTRYID
where a.FNUMBER ='具体BOM编码'
4 、常见问题为部分客户需要批量更新物料清单上的发料方式、倒冲时机、仓库等与物料一致可参考以下脚本
------更新前备份物料清单明细
select * into T_ENG_BOMCHILD_sqlbak from T_ENG_BOMCHILD
--发料方式不一致
select a.FISSUETYPE,b.FISSUETYPE, * from T_ENG_BOMCHILD a
inner join T_BD_MATERIALPRODUCE b on a.FMATERIALID=b.FMATERIALID
where a.FISSUETYPE<>b.FISSUETYPE
--修改发料方式
update a set a.FISSUETYPE=b.FISSUETYPE from T_ENG_BOMCHILD a
inner join T_BD_MATERIALPRODUCE b on a.FMATERIALID=b.FMATERIALID
where a.FISSUETYPE<>b.FISSUETYPE
--查询倒冲时机不一致
select a.FBACKFLUSHTYPE,b.FBKFLTIME, * from T_ENG_BOMCHILD a,T_BD_MATERIALPRODUCE b
where a.FMATERIALID=b.FMATERIALID and a.FBACKFLUSHTYPE<>b.FBKFLTIME
--更新倒冲时机
update a set a.FBACKFLUSHTYPE=b.FBKFLTIME from T_ENG_BOMCHILD a,T_BD_MATERIALPRODUCE b
where a.FMATERIALID=b.FMATERIALID and a.FBACKFLUSHTYPE<>b.FBKFLTIME
--查询发料仓库不一致的记录
select a.FSTOCKID,b.FPICKSTOCKID, * from T_ENG_BOMCHILD a
inner join T_BD_MATERIALPRODUCE b on a.FMATERIALID=b.FMATERIALID
where a.FSTOCKID<>b.FPICKSTOCKID
--修改发料仓库
update a set a.FSTOCKID=b.FPICKSTOCKID from T_ENG_BOMCHILD a
inner join T_BD_MATERIALPRODUCE b on a.FMATERIALID=b.FMATERIALID
where a.FSTOCKID<>b.FPICKSTOCKID