在制造业BOM中存在一种“虚拟件”作为供应类型的应用。该部分应用主要用于实际不用于实际出入库的物料,在BOM中为了体现结构或其它应用的需要而设置的一种供应类型。

如下图BOM:

根据以上的情况,在实际生产订单或现场实体物料使用的BOM结构如下:

BOM的设计结构如下:

表结构为:

表名:

Bom

字段名称

字段属性

说明

P

Varchar(max)

父项

C

Varchar(max)

子项

Wt

Int

供应类型

Qty

int

用量

创建BOM

if OBJECT_ID('Bom') is not null

begin

drop tableBom

end

create table Bom

(

p varchar(max),

c varchar(max),

wt int,

qty float

)

insert into bom(p,c,wt,qty)values('A','A1',4,2)

insert into bom(p,c,wt,qty)values('A','A2',4,3)

insert into bom(p,c,wt,qty)values('A','A3',3,1)

insert into bom(p,c,wt,qty)values('A1','A11',3,2)

insert into bom(p,c,wt,qty)values('A1','A12',3,3)

insert into bom(p,c,wt,qty)values('A1','A13',3,1)

insert into bom(p,c,wt,qty)values('A2','A21',4,2)

insert into bom(p,c,wt,qty)values('A2','A22',3,3)

insert into bom(p,c,wt,qty)values('A2','A23',3,1)

insert into bom(p,c,wt,qty)values('A21','A211',3,2)

insert into bom(p,c,wt,qty)values('A21','A212',3,4)

拟算角本

IF OBJECT_ID('TEMPDB..#BOM') IS NOT NULL

BEGIN

DROP TABLE#BOM

END

SELECT P,C,wt,qty,0 AS L INTO #BOM FROM BOM WHERE 1=0 AND  P='A'

INSERT INTO #BOM SELECT P,C,WT,QTY ,1 AS L FROM BOM WHERE P='A'

DECLARE @ID INT

SELECT @ID=COUNT( DISTINCT WT) FROM #BOM WHERE L IN(SELECT MAX(L) AS L FROM #BOM ) AND wt=4

WHILE @ID=1

BEGIN

INSERT INTO #BOM SELECT DISTINCT A.p,B.c,B.wt,B.qty*A.qty AS QTY,A.L+1 AS L FROM #BOM A INNER JOIN Bom B ON A.c=B.p INNER JOIN (SELECT * FROM(SELECT ROW_NUMBER()OVER(PARTITION BY C,WT,L ORDER BY C,WT,L DESC) AS ID,P,C,WT,L,QTY FROM #BOM WHERE wt=4)X WHERE ID=1)A1 ON A1.C=A1.C AND A.L=A1.L AND A.wt=A1.wt WHERE A.L IN(SELECT MAX(L) FROM #BOM)

SELECT @ID=COUNT( DISTINCT WT) FROM #BOM WHERE L IN(SELECT MAX(L) AS L FROM #BOM ) AND wt=4

END

SELECT  * FROM #BOM WHERE WT=3 ORDER BY P,L

结果 



Bom中的实体物料与用量相关推荐

  1. 生产订单中的下层物料信息

    前几天,有人问我如何能够知道生产订单中的下层物料信息是从BOM中过来的,还是计划员手工加入的.我在IDES中作了测试,现将结果总结如下: 在作生产订单时,不管是从计划订单转还是手工作的,只要物料是有B ...

  2. 金蝶K3使用一码多BOM处理多版本物料生产需求

    目的和原理: 1个物料使用多套BOM来区分多个差异版本的生产需求,在开生产任务单的时候,手动选择需要的BOM编号,系统会根据该BOM编号自动匹配生成生产投料单,从而实现一个物料编码多种版本生产需求. ...

  3. 李飞飞团队最新论文:如何对图像中的实体精准“配对”?

    编译 | 费棋 出品 | AI科技大本营(公众号ID:rgznai100) [导语]近日,李飞飞的斯坦福大学视觉实验室发布了一篇即将在 CVPR 2018上要介绍的论文 Referring Relat ...

  4. 实体链接中使用实体一致性信息(coherence)

    实体链接(Entity Linking; Entity Disambiguation)是自然语言处理中一个很重要的任务,目的是将文本中发现的mention链接到知识库(Knowledge Base)中 ...

  5. 李飞飞团队最新论文:如何对图像中的实体精准“配对”?(附代码论文)

    来源:AI科技大本营(公众号ID:rgznai100) 编译:费棋 本文共5749字,建议阅读10分钟. 近日,李飞飞的斯坦福大学视觉实验室发布了一篇即将在 CVPR 2018上要介绍的论文 Refe ...

  6. 浅谈三层架构中的实体类(C#)

    最近因为三层架构中的实体类,引发了不少小问题,下面列举一下,谈谈自己的感想. 本文所指的实体类仅限于三层中的实体类,即数据库表的映射. 一.为什么要用实体类? |  使程序简洁易懂,便于维护. |  ...

  7. MM中如何更改物料的评估类

    在SAP MM模块中,一物料XXX ,由原来的外购,变成厂内自制:评估类也由原来的7901 改为:7900 : 注:物料的评估类,对应一些帐号,对发生的为业,产生的数据,记录在相对的帐号里: 如要更改 ...

  8. java EF6,EF Core 2.0和EF6(Entity Framework 6)中配置实体映射关系

    1.EF6中通过EntityTypeConfiguration配置实体映射关系代码 public class AccountMap : EntityTypeConfiguration { public ...

  9. 在 XML 中添加实体

    http://www.ibm.com/developerworks/cn/xml/x-entities/?S_TACT=105AGX52&S_CMP=tec-csdn 简介 常用缩写词 ASC ...

最新文章

  1. ClewareControl 2.4 发布,传感器控制程序,增加对 python 的支持
  2. VTK:图片之CenterAnImage
  3. linux 权限777_Linux编程之权限系统与工具使用(二)
  4. 别小看不起眼的电阻,里面大有学问!
  5. 预售┃每个人都应该学习编程,因为它会教你如何思考
  6. Express接口综合案例(创建项目、配置常用中间件、路由设计、提取控制器模块、配置错误统一处理中间件、用户注册的数据验证,密码加密)
  7. 用户工号转换成姓名加工号
  8. SpringBoot之idea打包以及启动jar包
  9. 美食杂志排行榜_百度知道
  10. java 循环赛问题_分治法实现循环赛日程表问题
  11. 服务器ssd内存性能对比,真是大快人心 九款240/256G SSD大横评
  12. springboot支付宝微信支付对接总结
  13. VI设计创意的方法与技巧
  14. dns劫持教您dns被劫持如何修复、dns劫持如何修复
  15. python中语法错误英文提示解析(可能没有解决方案)
  16. sdformatter格式化选项设置_使用SDFormatter怎么格式化内存卡-SDFormatter使用教程
  17. 《Real-Time Rendering 4th Edition》全文翻译 - 第2章 图形渲染管线(上)2.1 ~ 2.3(20200720翻新)
  18. 14年高考结束了,明日边缘看完了,明天周一了 (2014-06-08)
  19. More effective C++学习总结
  20. rasp agent_Rasp Pi上的Perf机器学习

热门文章

  1. 常见的网络协议与网络要素的介绍
  2. odoo小程序商城概览(睿鸥商城)
  3. 利用互信息推断基因调控网络
  4. 【bugku CTF】MISC杂项:很普通的数独(isccctf)、啊哒、隐写、隐写2、多种方法解决、easy_crypto 、聪明的小羊、ping
  5. 微信小程序(企业客户服务功能)
  6. 金万维异速联手机版 领军远程接入市场
  7. 工字型钢弹性截面模量计算公式_截面模量的计算公式是什么?
  8. cocoapods 换源
  9. 经验模态分解和各种进化及变种 EMD,EEMD,CEEMD,CEEMDAN,ESMD等简要介绍
  10. STM32F407 USB虚拟双串口