--修改t_ICItemCustom 表中的自定义字段“F_104”
create TRIGGER kdtr001
ON [dbo].[ICMrpResult]
FOR UPDATE
AS
begin
declare @insertcount int
declare @deletecount int
declare @fitemtype int
declare @newfitemtype int
declare @finterid int
set @fitemtype=(select distinct fitemtype from deleted)
set @finterid=(select distinct FInterID from deleted where FItemType=@fitemtype)
select @insertcount=COUNT(1) from inserted
select @deletecount=COUNT(1) from deleted
--当更新单据类型时
if UPDATE(fitemtype) and 1 in (select fheadselfb0548 from inserted)
begin
select @newfitemtype=fitemtype from inserted
--当单据类型变更为生产任务类时,更改物料中的自定义字段为自制
if(@newfitemtype=11011)
begin
UPDATE a set a.F_104='自制' from ICMrpResult c,t_ICItemCustom a where a.FItemID=c.FItemID and c.FItemType=11011
print(1)
print(@fitemtype)
print(@newfitemtype)
end
--当单据类型为采购申请类时,更改物料中的自定义字段为外购
else if(@newfitemtype=11010)
begin
update a set a.F_104='外购' from ICMrpResult c,t_ICItemCustom a where a.FItemID=c.FItemID and c.FItemType=11010
print(2)
print(@fitemtype)
print(@newfitemtype)
end
--当单据类型为委外加工类时,更改物料中的自定义字段为委外加工
else if(@newfitemtype=11012)
begin
update a set a.F_104='委外加工' from ICMrpResult c,t_ICItemCustom a where a.FItemID=c.FItemID and c.FItemType=11012
print(3)
print(@fitemtype)
print(@newfitemtype)
end
end
end
前台程序执行时,出现报错,如图所示:
