触发器:自动修复发货通知单出库上限基本数量和出库下限基本数量原创
29人赞赏了该文章
123次浏览
编辑于2024年09月25日 17:50:34
一、针对问题
因二次开发或异常操作,以及数据异常,导致发货通知单出库上限基本数量或出库下限基本数量为空
进而引发发货通知单关闭状态异常,或者下游单据保存时提示超额
可使用以下触发器防治
二、使用前提与备注
1.适用于SQLServer数据库,私有云类型客户
2.该触发器为防止异常数据产生,并不修复已产生的具体错误数据
3.该触发器的处理逻辑,会将出库上限基本数量 和 出库下限基本数量 固定写死为基本数量,如果实际使用中确有修改上下限的需求和业务,则该触发器不适用
三、触发器(直接复制至数据库中执行创建即可)
/*将出库上限基本数量 和 出库下限基本数量 固定写死为基本数量,防止人为修改和其他异常情况*/ GO CREATE TRIGGER TR_REPAIR_OUTMINBASE ON T_SAL_DELIVERYNOTICEENTRY FOR UPDATE,INSERT AS IF UPDATE(FBASEUNITQTY) OR UPDATE(FBASEOUTMAXQTY) OR UPDATE(FBASEOUTMINQTY) BEGIN DECLARE @CON INT SELECT @CON = ISNULL(COUNT(1),0) FROM inserted WHERE FBASEUNITQTY <> FBASEOUTMAXQTY OR FBASEUNITQTY <> FBASEOUTMINQTY IF @CON > 0 BEGIN UPDATE T_SAL_DELIVERYNOTICEENTRY SET FBASEOUTMAXQTY = FBASEUNITQTY,FBASEOUTMINQTY = FBASEUNITQTY WHERE FENTRYID IN (SELECT INS.FENTRYID FROM inserted INS) END END
推荐阅读