【速达软件】【速达5000】需求采购订单数量不能大于(请购数量-已订数量)
[5系]采购订单数量不能大于(请购数量-已订数量)
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
/****** Object: Trigger dbo.p_orderdetail_ai Script Date: 2013-8-26 10:51:52 ******/
/****** Object: Trigger dbo.p_orderdetail_ai Script Date: 2013-2-20 9:02:28 ******/
ALTER trigger [p_orderdetail_ai] on [dbo].[p_orderdetail] for insert
as
declare @referbilltype t_integer,
@referbillid t_keyid,
@referitemno t_keyid,
@refergoodsid t_integer,
@unitid t_integer,
@unitquantity t_quantity,
@extqty t_quantity,
@closed t_integer,
@referqty t_quantity, -- referqty被引用数量
@prunitquantity t_quantity, ---明细自定义1=请购单数量
@userdef1 t_userdef,
@itemno t_keyid,
@msg t_remark --增加抛出异常报错参数
begin
set nocount on
declare p_orderdetail_ai_cr cursor local forward_only static optimistic for
select n.referbilltype, n.referbillid, n.referitemno,n.goodsid, n.unitid,n.unitquantity, n.extqty ,p.closed,p.referqty,p.unitquantity ,n.itemno
from inserted n -- p_orderdetail n
left join p_requestdetail p on n.referbilltype=5 and n.referbillid=p.billid and n.referitemno=p.itemno
open p_orderdetail_ai_cr
fetch next from p_orderdetail_ai_cr
into @referbilltype, @referbillid, @referitemno,@refergoodsid, @unitid,@unitquantity, @extqty,@closed,@referqty,@prunitquantity,@itemno
while (@@fetch_status = 0)
begin
if(@closed=1)
begin
exec throwexception 'billcloseerror'
return
end
-- lsl modify 2009-06-12 检查引用的单据/记录是否有效
if(@referbilltype<>12 and @referbilltype<>16)
begin
exec checkbillgoods @referbilltype,@referbillid,@referitemno,@refergoodsid
--更新引用次数和引用数量
exec modifybillreferqty 1,@referbilltype,@referbillid,@referitemno,@unitid,@unitquantity,@extqty
end
/* else lsl modify 2009-06-29 采购订单引用销售订单不回填任何引用数量字段
update s_orderdetail set purrequestqty=isnull(purrequestqty,0)+@unitquantity
where billid=@referbillid and itemno=@referitemno */
if (@referbilltype = 12) --heyao 20130820 新需要要求采购订单也回填销售订单
begin
exec checkbillgoods @referbilltype,@referbillid,@referitemno,@refergoodsid
update s_orderdetail set purrequestqty=isnull(purrequestqty,0)+dbo.fn_getunitqty(goodsid,@unitquantity,@unitid,unitid)
where billid=@referbillid and itemno=@referitemno
end
---------------------------------------------------------------------
--林13632349867 2020-07-08 采购订单引用请购单,数量不能大于请购单数量
if(@referbilltype=5 )
begin
exec checkbillgoods @referbilltype,@referbillid,@referitemno,@refergoodsid
-- select billid,unitquantity,referqty,greferqty,greferextqty from p_requestdetail where billid=8
if(@unitquantity>(@prunitquantity-@referqty))
begin
exec checkbillgoods @referbilltype,@referbillid,@referitemno,@refergoodsid
--declare @msg2 VARCHAR;
set @msg = '第 '+cast(@itemno-1 as VARCHAR)+' 行数量超标,请购数量 '+cast(Convert(decimal(20,2),@prunitquantity) as varchar)+' 其中已下订购数量 '+cast(Convert(decimal(20,2),@referqty) as varchar)+' ,不得超过 '+cast(Convert(decimal(20,2),@prunitquantity-@referqty) as varchar)
exec throwexception @msg
break
return
end
update p_orderdetail set userdef1=@prunitquantity,userdef2=@referqty+@unitquantity where referbillid=@referbillid and referitemno=@referitemno and goodsid=@refergoodsid
end
---------------------------------------------------------------------
fetch next from p_orderdetail_ai_cr
into @referbilltype, @referbillid, @referitemno,@refergoodsid, @unitid,@unitquantity, @extqty,@closed,@referqty,@prunitquantity,@itemno
end
close p_orderdetail_ai_cr
deallocate p_orderdetail_ai_cr
end
【速达软件】【速达5000】需求采购订单数量不能大于(请购数量-已订数量)相关推荐
- 计算机速录方法,速录软件速录方法细说
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 使用的设备及输入法: 除速录机以外,基本上都是安装软件后使用计算机键盘来进行输入,但是在打法上会有所区别.当然还有的,是不需要任何软件,直接输入,除使用搜 ...
- 采购订单管理流程:定义、好处和步骤
采购订单流程在使你的业务取得成功方面发挥着关键作用.如果没有高效准确的采购订单 管理流程,时间和资源就会被浪费,不必要的错误也会变得司空见惯. 什么是采购订单流程? 采购订单帮助企业了解和核算 ...
- 采购订单管理的四种常见类型
采购管理对于任何成功的企业都至关重要.如果你的企业没有统一的采购管理流程,那么你可能无法对你的采购进行解释,并可能犯下代价高昂的采购错误.采购订单或许是有效采购管理流程中最重要的部分.让我们来看看采购 ...
- 为什么采购订单管理非常重要?
采购管理中一个重要的工作就是将采购需求转换成采购订单.采购订单让你对已经提供的产品或服务有个全面的了解.乍一看,这也许似乎不太重要,但是订单历史可以确定公司的绩效,暗示应做出哪些改变,进而优化当前的业 ...
- oracle 批量下单,3.12批量创建采购订单
3.12.1 业务方案描述 在生成采购订单前,由采购员审核计划结果,根据供应商的供货状况调整供应商供货数量.供货日期. 所有合格供应商都能够通过下单平台批量下达采购订单,尽管供应商没有供货比例,或 ...
- sap mm采购订单交货已完成标识详解
1.交货已完成标识:这个字段作用是用于控制采购订单中的项目是否还有未清项的,它可以由系统在达成交货完成条件后自动设定,也可以在未达成交货完成条件时,通过手动设定,它的主要作用体现在MRP计算逻辑中 举 ...
- 未清采购订单关闭最全的方法
1.如采购订单未产生过交货,ME22N,行项目删除或采购订单删除: 2. 如已产生过交货,ME22N ,采购订单项目-交货,勾选"交货已完成": 3. 如启用了采购订单审核,先ME ...
- 中采购订单批导的bapi_五:认识SAP SD销售模式之第三方销售和单独采购
一:第三方销售:公司接到客户的订单后,针对客户所需要的产品直接像供应商采购,而后直接由该供应商负责进行送货到客户处二:单独采购:公司接客户的订单后,针对客户所需要的产品直接像供应商采购,而后该供应商负 ...
- sap采购申请自动转采购订单_SAP idoc功能够强大: 采购订单修改自动触发销售订单修改...
笔者在上一篇文章 SAP idoc功能够强大: 采购订单下达自动触发销售订单创建 中详细说明了如何通过IDOC来实现当公司A下达向公司B的采购订单自动在公司B中创建对公司A的销售订单,且传回订单确认信 ...
- 费用型采购订单(科目分配类别=K)向成本中心计入费用
文章目录 一.概述 二.费用型采购订单创建收货发票校验 2.1 创建费用型采购订单-ME21N 2.2 收货-MIGO 2.3 发票校验-MIRO 三.成本中心费用查询-S_ALR_8701361 3 ...
最新文章
- 多传感器融合:自动驾驶(下)
- PostgreSQL_row_number() over()
- 关于Tomcat上请求的编解码问题
- java如何画出表格_Java利用iText7画个性化表格
- git中的gitgnore是什么? 码云gitee
- JDK 监控和故障处理工具总结
- 操作系统 课堂练习题01【15道 经典题目】
- SAP Kyma的environmment和SAP 云平台的Global Account
- java发送c语言结构体_C语言中结构体直接赋值?
- Xcode 7 App Transport Security has blocked a cleartext HTTP 报错解决办法
- std::map的使用
- html文字阴影php,HTML_html5文字阴影效果text-shadow使用示例,复制代码代码如下: !DOCTYPE h - phpStudy...
- Java虚拟机(一)——内存管理
- Tomcat access log配置
- 兔子--R.java丢失原因及解决的方法
- 漫谈基础工业软件开发
- 软件企业变更管理流程
- AD原理图设计中如何添加NET CLASS和差分线
- double cbrt(double x)
- c++ Numeric limits
热门文章
- linux超出频率限制黑屏,linux suse 超出频率限制 问题
- LaTex 常用语法
- 四阶龙格库塔法 matlab ode45,微分方程的数值解法matlab(四阶龙格—库塔法)
- dcs world f15c教学_陕西【精细化工dcs控制】施工
- 经典字符串匹配算法——KMP算法
- [leetcode]187. Repeated DNA Sequences寻找DNA中重复出现的子串
- BP神经网络 MATLAB源程序
- 学习笔记:12864液晶模块的详细使用
- [zigbee][z-Stack]协议栈简介及工作流程
- 计算机页面的工具,网页智能填写工具