/****** Object:  StoredProcedure [dbo].[pro_bobang_BOMCost]    Script Date: 07/29/2015 16:09:11 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
drop proc pro_bobang_BOMCost
GO
create PROC [dbo].[pro_bobang_BOMCost]
@FBomNumber1 varchar(50),  --bom单号
@FBomNumber2 varchar(50)   --bom单号
as
begin
SET ANSI_WARNINGS OFF
set nocount on--1.--业务员查找某个BOM单,包含所有BOM(已使用,未使用,已审核,未审核)with cte as (select convert(varchar(100),'') as cen,Finterid,FBOMNumber as fppbomnumber,convert(varchar(50),'') as fpbomnumber,Fbomnumber AS FCbomnumber,fitemid,fitemid as fpitemid,0 as fpinterid,convert(decimal(18,4),1) as FBomQty,convert(varchar(500),RIGHT('000000'+CONVERT(varchar(10),Finterid),6)) as code  from ICBOM where (1=1)and FBOMNumber >= @FBomNumber1and FBOMNumber <= case when @FBomNumber2='' then (select MAX(FBOMNumber) from ICBOM) else @FBomNumber2 endunion allselect convert(varchar(100),cen+'------'),a.finterid,c.fppbomnumber,convert(varchar(50),c.FCbomnumber) as fpbomnumber,a.fbomnumber as fcbomnumber,a.fitemid,c.fpitemid,a.fpinterid,convert(decimal(18,4),a.FAuxQty) as FBomQty,convert(varchar(500),c.code+RIGHT('000000'+convert(varchar(10),a.finterid),6)) as codefrom ( select t1.finterid as fpinterid,t2.FInterID,t1.FItemID,t2.FBOMNumber,t1.FAuxQty from  ICBOMChild t1 inner join ICBOM t2 on t1.FItemID=t2.FItemIDwhere FParentID=1038union all select t1.finterid as fpinterid,0,t1.fitemid,'',t1.FAuxQty from ICBOMChild t1 where not exists (select * from ICBOM where FItemID=t1.FItemID)) a inner join cte c on a.fpinterid=c.FInterID)select  cen,finterid,fppbomnumber,fpbomnumber,fcbomnumber,fitemid,fpitemid,fpinterid,FBomQty,code into #tmp1 from cte order by codeOPTION (MAXRECURSION 0)--2.--取采购价格管理物料最新日期的价格(已审核,可使用)
SELECT distinct u1.FSupID,u1.FItemID,case when u1.fcyid=1 then u1.FPrice*t3.FExchangeRate/(1+v1.FValueAddRate/100) else u1.FPrice*t3.FExchangeRate end as FPrice,
t3.FName AS FCyName,u1.FQuoteTime,u1.FDisableDate
into #tmp2 FROM t_SupplyEntry  u1 INNER JOIN t_ICItem t1 ON u1.FItemID=t1.FItemIDINNER JOIN t_Supply u2 ON u1.FSupID=u2.FSupID AND u1.FItemID=u2.FItemID AND u1.FPType=u2.FPTypeINNER JOIN t_Currency t3 ON t3.FCurrencyID=u1.FCyIDINNER JOIN t_Currency u3 ON u3.FCurrencyID=u2.FCurrencyIDINNER JOIN t_Supplier v1 ON u1.FSupID=v1.FItemIDinner join (select MAX(fquotetime) as fquotetime,FItemID from t_SupplyEntry where FCheckerID>0 group by FItemID) bb on bb.FItemID=u1.FItemID and bb.fquotetime=u1.FQuoteTimeWHERE t1.FErpClsID not in (6,8) and u1.FCheckerID>0 and u1.FUsed=1--3.--列出BOM明细成本,取采购价格的最新价格
select t1.cen+t1.code as FTree,t1.cen,t1.code,t1.fppbomnumber,t1.fpbomnumber,t1.fcbomnumber,t1.FItemID,t1.FBomQty,
t2.FSupID,t2.FPrice as FAuxPrice,t1.FBomQty*t2.FPrice as FAmount,case when FCbomnumber<>'' then t1.FBomQty*t2.FPrice end as FJGAmount
into #tmp3 from #tmp1 t1
left join #tmp2 t2 on t1.FItemID=t2.FItemID
left join t_ICItem t3 on t1.FItemID=t3.FItemID
order by t1.code,t3.FNumber--4.--循环计算中间件成本
---这部分部署会出错,先注释,部署成功,再解除注释更新存储过程
declare @cb decimal(18,4),@fbom varchar(50),@fppbom varchar(50)
declare auth_cur cursor for
select fppbomnumber,fcbomnumber from #tmp3 where FAuxPrice is null and fcbomnumber<>'' and cen<>''  order by cen desc
open auth_cur
fetch next from auth_cur into @fppbom,@fbom
while(@@fetch_status=0)
beginset @cb=0select @cb=isnull(SUM(FAmount),0) from #tmp3 where fpbomnumber=@fbom and fppbomnumber=@fppbomUPDATE #tmp3 set FAmount=isnull(FAmount,0)+@cb,FAuxPrice=isnull(FAuxPrice,0)+@cb/FBomQty where FCbomnumber=@fbom and fppbomnumber=@fppbomfetch next from auth_cur into @fppbom,@fbom
end
close auth_cur
deallocate auth_cur
----这部分部署会出错,先注释,部署成功,再解除注释更新存储过程--5.--循环计算成品件成本
---这部分部署会出错,先注释,部署成功,再解除注释更新存储过程
declare @cb1 decimal(18,4),@fbom1 varchar(50),@fppbom1 varchar(50)
declare auth_cur cursor for
select fppbomnumber,fcbomnumber from #tmp3 where fcbomnumber<>'' and cen=''  order by cen desc
open auth_cur
fetch next from auth_cur into @fppbom1,@fbom1
while(@@fetch_status=0)
beginset @cb1=0select @cb1=isnull(SUM(FAmount),0) from #tmp3 where fpbomnumber=@fbom1 and fppbomnumber=@fppbom1UPDATE #tmp3 set FAmount=isnull(FAmount,0)+@cb1,FAuxPrice=isnull(FAmount,0)+@cb1/FBomQty where FCbomnumber=@fbom1 and fppbomnumber=@fppbom1fetch next from auth_cur into @fppbom1,@fbom1
end
close auth_cur
deallocate auth_cur
----这部分部署会出错,先注释,部署成功,再解除注释更新存储过程select t1.FTree,case when t1.fpbomnumber='' then t1.FCbomnumber end as fpbomnumber,t2.FNumber,t2.FName,t2.FModel,t3.FName as FUnitName,t1.FBomQty,t1.FAuxPrice,t1.FAmount,t1.FJGAmount,t4.FName as FSupName from #tmp3 t1
inner join t_ICItem t2 on t2.FItemID=t1.FItemID
inner join t_MeasureUnit t3 on t2.FUnitID=t3.FItemID
left join t_Supplier t4 on t1.FSupID=t4.FItemID
order by t1.codedrop table #tmp1
drop table #tmp2
drop table #tmp3
set nocount offend --exec pro_bobang_BOMCost 'BOM000032','BOM000032'
--exec pro_bobang_BOMCost '*FBomNumber*','#FBomNumber#'

金蝶K3 WISE BOM多级展开_BOM成本表相关推荐

  1. 多层bom展开_金蝶K3 WISE BOM多级展开_BOM成本表

    /****** Object: StoredProcedure [dbo].[pro_bobang_BOMCost] Script Date: 07/29/2015 16:09:11 ******/ ...

  2. 金蝶K3 WISE 视频教程-金速鹏-专题视频课程

    金蝶K3 WISE 视频教程-409人已学习 课程介绍         系统基础:系统安装.部署,账套.用户及权限,金蝶企业云平台,基础资料.系统设置.初始化.k3BOS初步. 供应链:采购.仓储.销 ...

  3. 关于金蝶k3 wise供应生门户登陆界面屏蔽业务账套多余功能模块设置方法

    关于金蝶k3 wise供应生门户登陆界面屏蔽业务账套多余功能模块设置方法 1. 找到以下路径 ...\Kingdee\K3ERP\KDHR\SITEFILE\WEBUI\ 找到"Login. ...

  4. 金蝶K3 WISE 15.1金蝶K3 15.1金蝶K3 V15.1 金蝶K3 WISE 15.0金蝶K3 15.0金蝶K3 V15.0 14.3/14.2/14.1/14.0/13.1/13.0 12

    金蝶K3 WISE 15.1金蝶K3 15.1金蝶K3 V15.1 金蝶K3 WISE 15.0金蝶K3 15.0金蝶K3 V15.0 14.3/14.2/14.1/14.0/13.1/13.0 12 ...

  5. 玩转金蝶K3 WISE API接口

    目录 VB版测试 Delphi版测试 C#版测试 Java版(手机客户端)测试 基于API的服务程序 开发自己的API接口 金蝶K3 WISE 从14.3版本开始提供API接口,实现企业上下游(供应商 ...

  6. 金蝶K3 WISE 15版本用户手册

    金蝶K3 WISE 15版本用户手册 网盘 提取码:fsoh

  7. 【SAP Abap】BOM多级展开函数 CS_BOM_EXPL_MAT_V2 使用详解

    SAP ABAP BOM多级展开函数 CS_BOM_EXPL_MAT_V2 使用详解 1.函数入参说明 2.函数出参说明 1.函数入参说明 CALL FUNCTION 'CS_BOM_EXPL_MAT ...

  8. 金蝶k3 wise 15.0单据序时簿二维码打印后打印预览时提示没有注册类

    金蝶K3 wise 15.0 销售出库单打开二维码打印后这个界面在点击布局设计或打印预览时提示没有注册类,提示如下: 解决方案: 请在K3安装目录C:\Program Files (x86)\King ...

  9. 金蝶K3 WISE版本过服务期后打补丁方法

    因为新的金蝶补丁全部加壳,在服务期内的通过验证后,可以打补丁.超过服务期的,正常是打不了的,可以通过如下方法变通处理下: 1.找一台已经装好补丁的客户端(如果找不到,那就用金蝶服务器也行).将客户端下 ...

最新文章

  1. python 实现倒排索引,建立简单的搜索引擎
  2. js日期初始化总结:new Date()参数设置
  3. Vue.js的的理解及优缺点
  4. spring学习--AOP术语
  5. 7-9 一元多项式的乘法与加法运算 (20 分)
  6. Java jdk下载及安装
  7. (剑指Offer)面试题58:二叉树的下一个结点
  8. gulp教程、gulp-less安装
  9. 【软件测试】:测试改进措施总结
  10. MySQL 数据恢复 —— 使用 data 目录
  11. 供水供气管道泄漏监测系统原理
  12. 路由配置与管理——ISIS路由配置与管理
  13. Web前端开发的十佳前端框架优缺点
  14. 电脑ctrl和ALT经常键自动按住--答案是QQ2012的Bug
  15. postman传图片
  16. [开源]Qt图片调整之饱和度调节
  17. Blaze三连:BlazePose、BlazePalm、BlazeFace
  18. Ubuntu上mysql的安装及使用【转】
  19. [分享] 兰迪·波许教授的最后一课[PDF/PPT/AVI]
  20. 看透2500万人生老病死 米因大数据解开健康密码

热门文章

  1. 《机器学习基石》学习笔记 1 The Learning Problem
  2. 逐步推进的团队项目准备工作全记录
  3. 微商扫码发货管理系统开发
  4. 图像处理之_ARToolKit自定义Marker
  5. 安卓4.4刷linux系统下载,在Linux上安装Android 4.4 KitKat
  6. AR体感游戏,体感互动游戏,AR大屏互动
  7. 修改ubuntu桌面分辨率方法
  8. Timus Online Judge 2045 Richness of words
  9. linux达人养成计划i,Linux达人养成计划 I
  10. 中国水泥工业节能减排行业投资效益及未来发展战略规划报告2021-2027年