前几天业务部门提出需求,想限定501仓库的领料单只能让工号为A001和A002的用户审核。
问题点:
1.怎样能获取审核者编号。
2.触发器设定在哪里。
通过分别设置触发器给单头,单身,发现易飞领料单的审核逻辑是:审核单身-》插入INVLA-》审核单头。
另外,审核者编号获取如果是在取INVLA.CREATOR 就好办多了。
好了,结论出来了,在INVLA上面设定触发器。
CREATE TRIGGER [dbo].[INVLAINS] ON [dbo].[INVLA]
AFTER INSERT
AS
DECLARE @TC009 CHAR(1),
@TC015 CHAR(10),
@LA006 CHAR(4),
@LA007 CHAR(11),
@TE008 CHAR(10),
@MODI CHAR(10)
SET NOCOUNT ON
IF exists(SELECT * FROM MOCTC,inserted WHERE LA006=TC001 AND LA007=TC002)
begin
SELECT @LA006=LA006,@LA007=LA007,@TE008=TE008,@MODI=i.CREATOR FROM INSERTED i INNER JOIN MOCTE ON LA006=TE001 AND LA007=TE002 AND LA008=TE003 INNER JOIN MOCTC ON TC001=TE001 AND TC002=TE002
if @TE008='501' AND @MODI<>'A001' and @MODI<>'A002'
BEGIN
--raiserror是不能在前台显示的。
--raiserror (N'501仓库只允许指定人员的审核',10,1)
ROLLBACK
return
END
end
业务部门提出限定501仓库领料单审核权限的需求,仅允许工号A001和A002的用户审核。问题聚焦于获取审核者编号和触发器设定位置。经测试,易飞领料单审核逻辑为审核单身 - 插入INVLA - 审核单头,最终确定在INVLA上设定触发器。

1336

被折叠的 条评论
为什么被折叠?



