U9Bom阶层展开脚本
declare @maincode char(60)
set @maincode='10.1210.0012'--产成品品号
declare @i int
set @i=0
--SELECT MD003 FROM #BOMMD WHERE MD001='CG.16120509001.00909'
select item.ID MID,item.Code MD001,item.Name MName,itemlin.ID ZID,itemlin.Code MD003,itemlin.Name ZName,
Convert(decimal(18,3),B.UsageQty) UsageQty --用量
,Convert(decimal(18,3),B.ParentQty) ParentQty --母件底数
,Convert(decimal(18,3),Convert(decimal(18,3),B.UsageQty)/Convert(decimal(18,3),B.ParentQty)) MD006 --计算实际用量
INTO #BOMMD
from CBO_BOMMaster as A
inner join CBO_BOMComponent as B on A.ID = B.BOMMaster
left join CBO_ItemMaster item on A.ItemMaster=item.ID
left join CBO_ItemMaster itemlin on B.ItemMaster=itemlin.ID
where
A.BOMType=0 --0 为自制件 1为委外
and A.AlternateType=0 --0 生产目的为主制造 1 为委外
and A.BOMType=0 --0 BOM类型为自制 1为委外 10.0115.0006
and
A.Org=1002011047606283
and A.DisableDate > GETDATE() --失效日期需大于今天日期
--and A.ID in(select max(ID)
--from CBO_BOMMaster where Org='1002011047606283'
--group by BOMVersionCode,ItemMaster,Project
--having max(DisableDate) > GETDATE() )
--AND A.ItemMaster = (select id from CBO_ItemMaster where Code =('10.5001.0010') and Org='1002011047606283')
--MD001为主件品号,MD003为元件品号,两者形成对应关系
--定义主件品号临时表
declare @tmp_main table (品号 CHAR(60))
--将待查品号存入主件品号临时表
INSERT INTO @tmp_main SELECT MD003 FROM #BOMMD WHERE MD001=@maincode
--定义BOM明细临时表
declare @tmp_bom table (主件品号 char(60),元件品号 char(60),组成用量 float,阶数 int)
--将待查品号下一级元件品号数据存入BOM明细临时表
insert into @tmp_bom select MD001,MD003,MD006,@i from #BOMMD
where MD001 =@maincode
--如果BOMM表MD001(主件品号)存在于BOM明细临时表中的元件品号且阶数为当前最低层,进入循环
while exists(select * from #BOMMD where MD001 in (select 元件品号 from @tmp_bom where 阶数=@i))
begin
--向BOM明细临时表插入BOMMD中MD001与主件品号临时表品号一致的数据(以主件品号临时表左关联BOMMD,存在多对一关系)
insert into @tmp_bom select MD001,MD003,MD006,@i+1 from
(select MD001,MD003,MD006 from @tmp_main LEFT join #BOMMD on 品号=MD001
)A where MD001 is not null
--清空主件品号临时表
delete from @tmp_main
--向主件品号临时表插入BOMMD中的主品号存在于BOM明细临时表元件品号的MD003(子品号)
INSERT INTO @tmp_main SELECT MD003 FROM #BOMMD WHERE MD001
in (select 元件品号 from @tmp_bom where 阶数=@i)
set @i=@i+1
end
select * from @tmp_bom ORDER BY 阶数,元件品号
drop table #BOMMD
U9Bom阶层展开脚本相关推荐
- 油猴脚本开发学习1--豌豆荚快速查看所有版本
文章目录 1.需求来源: 2.开发者工具开发: 3.油猴插件开发: 1).油猴学习: 2).可以自己找几个学习简单一下 3).我最终的脚本: 4).你可以选择新建 4.注意点: 1.油猴,run at ...
- Web Application Stress Tool(WAS)性能测试
摘要:这篇文章讨论了性能测试对于成功发布一个网络应用的重要性,集中讨论了微软的Web Application Stress (WAS)这个用于测试Duwamish Online的性能的工具. 内容 介 ...
- 【翻译】25个浏览器开发工具的秘密
原文:http://www.andismith.com/blog/2011/11/25-dev-tool-secrets/ 作者:Andi Smith 翻译:25个浏览器开发工具的秘密 开发 过去几年 ...
- Hi3516A开发--目录分析
Hi3516A_SDK_Vx.x.x.x 目录结构如下: |-- sdk.cleanup # SDK清理脚本 |-- sdk.unpack ...
- 程序员精进之路:性能调优利器--火焰图
作者:厉辉,腾讯 CSIG 后台开发工程师 本文主要分享火焰图使用技巧,介绍 systemtap 的原理机制,如何使用火焰图快速定位性能问题原因,同时加深对 systemtap 的理解. 让我们回想一 ...
- badboy的录制和jmeter的使用
v Jmeter是什么 Apache Jmeter是Apache组织开发的基于Java的压力测试工具. Jmeter可以用于对服务器.网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析 ...
- 参数调优为什么要采样_程序员精进之路:性能调优利器--火焰图
本文主要分享火焰图使用技巧,介绍 systemtap 的原理机制,如何使用火焰图快速定位性能问题原因,同时加深对 systemtap 的理解. 让我们回想一下,曾经作为编程新手的我们是如何调优程序的? ...
- 第一季4:Hi3518E_SDK_Vx.x.x.x的SDK目录结构
Hi3518E_SDK_Vx.x.x.x 目录结构如下: (执行./sdk.upack之后的目录) |-- sdk.cleanup # SDK清理脚本 ...
- Hi3519V101_SDK_Vx.x.x.x 目录结构
Hi3519V101_SDK_Vx.x.x.x 目录结构如下: Hi3519V101_SDK_Vx.x.x.x 目录结构如下: |-- sdk.cleanup ...
最新文章
- React-native 官方 demo
- IsWow64的真实用途
- PYTHON之DEF
- 顺利搭建了oracle
- CSS知识点整理(2):框模型,定位
- Installshield 文件及文件夹操作
- js判断对象为空_在 JavaScript 中如何检查对象为空
- atitit.高性能遍历 文本文件行 attilax总结
- 【中文信息处理】实验一_语料库统计_基于词表的分词
- nmds与mds的区别_常见分析方法 | PCA、PCoA和NMDS有什么区别?
- 三年java不会线程_Java后端开发三年多线程你都懂,问你异步编程你说你没听过???...
- mysql like 百分号_mysql语句中使用like后面的%(百分号)的问题
- [转自老马的文章]用MODI OCR 21种语言
- 五子棋PVP项目总结
- 一种工控蜜罐识别与反识别技术研究与应用实践
- 1413. 逐步求和得到正数的最小值
- rrpp+ospf环网组建
- chatgpt如何自动生成角色prompt模板
- 呼叫中心系统对接开发-网关和中继的对接
- 【软件安全】API HOOK