1. 程式人生 > >易飛工單已完工領料控制

易飛工單已完工領料控制

第1步:設計錄入工單及錄入變列單自定義畫面: 工單單頭設定 自定義欄位組合框,值:L:正常領料, N:不可領料 

第2步: 設定 工單發放及手工新建 工單時事件觸發 給工單單頭 自定義欄位賦預設值( L:正常領料);

第3步: 在入庫稽核時設定 觸 發傳值 當工單單頭狀態 =Y 時 傳值 給自定義欄位  值(N:不可領料 )

第3步:   在領料單單身編寫SQL觸發器 使當工單單頭自定義欄位值為不可領料狀態是不可以領料的(如下觸發器)

第4步:  在工單變單就可操作工單自定義 值 來控制領 領料

USE [BM]
GO
/****** Object: Trigger [dbo].[MOCTE_UPD] Script Date: 2014/12/4 16:01:02 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[MOCTE_UPD]
ON [dbo].[MOCTE]
AFTER INSERT,UPDATE
AS
BEGIN
SET NOCOUNT ON; --領料碼UDF02 T 代表特殊領料不給領料,
if EXISTS (SELECT * FROM INSERTED A LEFT JOIN MOCTA B ON A.TE011=B.TA001 AND A.TE012=B.TA002 WHERE B.TA011='y' or B.TA011='1' )--or B.UDF02='T:特殊領料')
begin
raiserror('出錯!該工單已[指定完工]或[未發放]或已完工不可領料需聯絡計劃部相關人員!',16,16)
return
end
END
==N:不可領料狀態 如下:

USE [BM]
GO
/****** Object:  Trigger [dbo].[MOCTE_UPD]    Script Date: 2014/12/4 16:01:02 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[MOCTE_UPD]
   ON  [dbo].[MOCTE]
   AFTER INSERT,UPDATE
AS
BEGIN
 SET NOCOUNT ON; --領料碼UDF02,  N 代表特殊領料不可領料,
     if EXISTS (SELECT * FROM INSERTED A LEFT JOIN MOCTA B ON A.TE011=B.TA001 AND A.TE012=B.TA002 WHERE B.TA011='y' or B.TA011='1' )--or B.UDF02='N:不可領料')
   begin
        raiserror('出錯!該工單已[指定完工]或[未發放]或已完工不可領料需聯絡計劃部相關人員!',16,16)
        return
     end
END