`

物料ErpBomConfig的存储过程

阅读更多
create procedure bomlist @mtlno varchar(40),@alternativebom varchar(2)='01',@bomUsage varchar(1)='1'
as
declare @materialbill varchar(8),@bomcomponent varchar(40),@quantity NUMERIC(16,6),@classtype varchar(3),@configuration varchar(18)
create table #tmp (characterval varchar(30),intcharact varchar(10));
create table #tmp2 (bomcomponent varchar(40),quantity NUMERIC(16,6),classtype varchar(3));

if (select configuralbeMtl from di_t_mmrplantmtl where mtlno=@mtlno) is null
begin
	set @materialbill=(select materialbill from di_t_BDMMaterToBOMLink where mtlno=@mtlno and alternativebom =@alternativebom and  bomUsage =@bomUsage)
	if(@materialbill is not null)
		insert into #tmp2(bomcomponent ,quantity ,classtype) 
		(
			select a.bomcomponent,a.quantity,a.classtype from di_t_bdmbomitem a where  bomitemnodeno in (select bomitemnodeno
			from di_t_BDMBOMsItemSelect where materialbill=@materialbill) and materialbill=@materialbill 
		)
end
else
begin
	
	insert into #tmp(characterval,intcharact) 
	(
		select 
		charactvalue,intcharact
		from 
		di_t_pcmibsymbol 
		where 
		numberindic in 
		(
			select 
			signnumindic 
			from 
			di_t_pcmexamchartrestrain 
			where 
			internalCfg = 
			(
				select configuration from di_t_mmrplantmtl where mtlno=@mtlno
			)
		)
	)
	set @materialbill = (select
				materialbill 
				from 
				di_t_BDMMaterToBOMLink 
				where 
				alternativebom = '01' 
				and  bomUsage = '1' 
				and mtlno=(
				select configuralbeMtl from di_t_mmrplantmtl where mtlno=@mtlno
				));
	--select * from #tmp;
	
	insert into #tmp2(bomcomponent ,quantity ,classtype) 
	(
		select a.bomcomponent,a.quantity,a.classtype from di_t_bdmbomitem a where  bomitemnodeno in (select bomitemnodeno
		from di_t_BDMBOMsItemSelect where materialbill=@materialbill) and materialbill=@materialbill and classtype is null
	)
	--print(@materialbill);
	
	declare cur cursor for
		select c.bomcomponent ,c.quantity,c.classtype,a.configuration from di_t_pcmclasstypes b 
		,(select 
		bomcomponent,quantity,classtype 
		from 
		di_t_bdmbomitem 
		where  
		bomitemnodeno in (select bomitemnodeno
		from 
		di_t_BDMBOMsItemSelect 
		where 
		materialbill=@materialbill)
		and materialbill=@materialbill 
		and classType is not null) c 
		,(select * from di_t_PCMLinkBeInterNumAndObj) a
		where c.classtype=b.classtype and a.keyobjclassified = c.bomcomponent and multipleobjallowed = 'Y'
	open cur
	fetch next from cur into @bomcomponent,@quantity,@classtype,@configuration
	--select @bomcomponent,@quantity,@classtype,@configuration
	while @@fetch_status = 0
		begin
			
			--print(@bomcomponent)
			
			if(exists (select a.classreleaseindi , b.classificastatus
				from 
				di_t_pcmclassificastatus a , di_t_pcmallocatableobjtoclass b
				where 
				a.classificastatus=b.classificastatus 
				and 
				a.classType = @classtype
				and keyobjclassified=@configuration and a.classreleaseindi <>'Y'
			))
				return
			else
				if (exists (
					select a.* from 
					(	select intcharact ,characterval from di_t_PCMCharacterVal where keyobjclassified =@configuration and internalclassno in (select internalclassno from di_t_pcmallocatableobjtoclass where keyobjclassified=@configuration  and classType =@classtype)
					) a ,
					#tmp b where a.intcharact=b.intcharact and a.characterval = b.characterval
				))
				insert into #tmp2(bomcomponent ,quantity ,classtype) values (@bomcomponent ,@quantity ,@classtype)
	
			fetch next from cur into @bomcomponent,@quantity,@classtype,@configuration
		end
	close cur
	deallocate cur
end
select * from #tmp2 order by classtype;
drop table #tmp
drop table #tmp2
go


--测试
exec bomlist 'B11F58001SER'
exec bomlist '02-01'
exec bomlist '02'
exec bomlist 'B011B474C1C4304MH'
exec bomlist 'B22A151Q31B0000D1'
exec bomlist 'JFBX4'
exec bomlist '12345678'
分享到:
评论

相关推荐

    物料与存储管理方法

    现代物料与存储管理方法课件 一、储位管理 二、存储的要因分析 三、储区空间规划与布置 四、存储于搬运设备选用 五、储位编码与货品编码 六、储位指派模型 七、控管技术的应用 八、查核与改善

    物料存储管理规范物料存储管理规范.doc

    这份文档主要针对深圳XXXX科技有限公司的物料存储进行了详细的规定,旨在确保所有物料、半成品及成品在储存过程中保持良好的状态。 首先,文件明确了目的,即通过有序的物料储存、保管、搬运和防护,以维护物料的...

    离散制造业的MRP运算执行代码(ORACLE存储过程)

    虽然提供的代码片段中未包含具体的业务处理逻辑,但基于游标的定义可以推断出,该存储过程的主要功能是根据物料订单和现有库存情况,计算出未来一段时间内的物料需求计划,并更新相关的工作订单信息。 #### 五、...

    Sap b1 9.2存储过程

    实施公司 sap b1 9.2存储过程 --------------------------------------------------------【1】物料主数据--------------------------------------------------------- ------------------------1.1物料主数据中默认...

    解析用SQL Server存储过程对物料进行批次管理.pdf

    根据提供的文件内容,本文将详细介绍使用SQL Server存储过程对物料进行批次管理的方法,以及相关的数据库表结构设计。本文将解析相关的关键表清单、关键字段、以及采购入库的批次处理过程。 首先,我们需要了解什么...

    物料存储和防护物料存储和防护.doc

    物料存储和防护是确保产品质量和生产效率的关键环节。在IT行业中,这涉及到电子元器件、半成品、成品等各类物资的妥善保管。以下是对【标题】"物料存储和防护物料存储和防护.doc"中涉及的知识点的详细说明: 1. **...

    垂直螺旋输送过程中物料动力学分析

    取物料颗粒为分析对象,以螺旋的转动为相对运动,对考虑科氏加速度的螺旋输送过程中物料颗粒动力学情况进行了分析,构建了其受力图。对物料颗粒与叶片无相对运动的状态进行了分析,得到了物料即将产生相对运动时螺旋叶片...

    工厂物料管理系统-python+mysql(完整源码)

    使用Python的Django框架编写的Web,数据库使用Mysql作为信息存储 某工厂的物料管理系统 ...8) 创建存储过程统计指定时间段内各种物料的入库数量和领用数量; 9) 建立数据库相关表之间的参照完整性约束;

    云星空标准BOM成本计算SQL取工时存储过程

    云星空标准BOM成本计算SQL取工时存储过程

    delphi仓库管理系统(有存储过程)

    综上所述,"Delphi仓库管理系统"结合了Delphi的强大开发能力和C/S架构的灵活性,通过存储过程优化了数据处理,实现了物料的高效管理。对于希望提升仓库管理水平的企业来说,这样的系统无疑是一个值得考虑的解决方案...

    SAP物料组详解

    在配置物料组的过程中,有几个重要的设置。首先是权限组,这个设置允许管理员为特定的物料组设置访问权限,确保数据的安全性和合规性。另一个是默认的重量单位,尤其在销售视图中,这会影响到物料的销售处理,例如...

    SAP CO 期初物料分類賬未啟用,啟動物料分類賬後舊物料要重新啟動物料分類賬

    - **性能影响**:启用物料分类账会增加系统的计算和存储需求,可能会影响系统性能。 - **培训和用户接受度**:员工可能需要学习新的报告方式和理解平行记账的概念。 - **合规性**:物料分类账必须符合当地的会计法规...

    物料储存机sw18可编辑.rar

    物料储存机SW18是一款专为工业生产设计的设备,主要用于物料的存储、管理和输送。在机械设计、机械工程和机电一体化领域,这样的系统扮演着至关重要的角色,因为它能够提高生产效率,降低人工成本,同时确保物料的...

    SMT物料实行规范化管控

    实施SMT物料的规范化管控,旨在保证生产过程中的物料使用正确无误,避免因物料问题导致的产品质量问题和生产延误。通过对物料进行严格的管理,可以有效降低生产成本、提高生产效率和产品质量。 #### 三、适用范围 ...

    物料编码原则——物料编码的意义

    在物料种类繁多的情况下,物料编码能够极大地提高物料管理的效率,包括领发、验收、请购、跟催、盘点和储存等环节。通过物料编码,各部门可以快速准确地查找和交流物料信息,避免混淆和错误。 物料编码的功能主要...

    SAP:谈物料主数据中的物料状态

    在数据维护过程中,不同角色的用户会根据物料状态进行特定的操作。例如,物料状态为01的物料由负责采购的人员在MM02视图中进行维护,完成采购相关的信息更新后,状态会被更改为02。接着,质量管理部门的人员会在MM02...

    库存原材料零部件物料存储期限管理规定.rar

    1. **库存管理基础**:库存管理是指企业对原材料、零部件、半成品、产成品等物品的入库、储存、出库等活动进行计划、组织、协调和控制的过程。有效的库存管理能够确保生产顺畅,避免过度库存导致的资金占用和物料...

    物料台帐(表格模板、DOC格式).doc

    物料台账是一种记录物料信息的系统,旨在追踪物料的整个生命周期,包括物料的采购、存储、发货、使用和报废等过程。物料台账可以是纸质的,也可以是数字化的,通过使用计算机软件来记录和管理物料信息。 二、物料...

    SAP物料分类账实例

    最后,文档还提及了采购物料的过程,包括了物料的采购、定价差异等。在这个过程中,物料分类账会记录并分摊由于价格变动或者库存更新等引起的成本差异。 综上所述,物料分类账在SAP系统中扮演着记录和分摊物料成本...

    某工厂物料管理系统.docx

    6) 存储过程:统计各仓库物料存量及入库、领用情况,为决策提供数据支持。 2. 需求分析 2.1 信息分析 系统需处理的信息包括部门、员工、仓库、物料、领用记录、出入库记录和转仓记录等,这些信息的准确性和完整性...

Global site tag (gtag.js) - Google Analytics