gl_journal_trg.sql

来自「Java写的ERP系统」· SQL 代码 · 共 37 行

SQL
37
字号
CREATE OR REPLACE TRIGGER GL_Journal_Trg
AFTER DELETE OR UPDATE OF TotalDr, TotalCr
	ON GL_Journal
FOR EACH ROW
BEGIN
/******************************************************************************
 * ** Compiere Product **             Copyright (c) 1999-2001 Accorto, Inc. USA
 * Open  Source  Software        Provided "AS IS" without warranty or liability
 * When you use any parts (changed or unchanged), add  "Powered by Compiere" to
 * your product name;  See license details http://www.compiere.org/license.html
 ******************************************************************************
 *  Journal 
 *	- Update Journal Batch Totals if exists (insert is always 0)
 */
 	--	Subtract Old Amount
	IF (UPDATING OR DELETING) THEN
		IF (:old.GL_JournalBatch_ID IS NOT NULL AND :old.IsActive = 'Y') THEN
			UPDATE	GL_JournalBatch
			  SET	TotalDr = TotalDr - :old.TotalDr,
					TotalCr = TotalCr - :old.TotalCr
		   	WHERE	GL_JournalBatch_ID = :old.GL_JournalBatch_ID; 
   		END IF;
	END IF;

	--	Add new Amount
	IF (INSERTING OR UPDATING) THEN
		IF (:new.GL_JournalBatch_ID IS NOT NULL AND :new.IsActive = 'Y') THEN
			UPDATE	GL_JournalBatch
			  SET	TotalDr = TotalDr + :new.TotalDr,
					TotalCr = TotalCr + :new.TotalCr
		   	WHERE	GL_JournalBatch_ID = :new.GL_JournalBatch_ID; 
		END IF;
	END IF;

END GL_Journal_Trg;
/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?