TR_BANKACCOUNTTRANSACTION_POSTDATE_CLOSEDFISCALPERIOD
Definition
Copy
CREATE trigger [dbo].[TR_BANKACCOUNTTRANSACTION_POSTDATE_CLOSEDFISCALPERIOD] on dbo.BANKACCOUNTTRANSACTION for INSERT, UPDATE not for replication as
begin
set nocount on;
if (select COUNT(*) from INSERTED where POSTSTATUSCODE = 1 and POSTDATE is not null) > 0
begin
if not exists(
select P.ID
from INSERTED I
inner join dbo.GLFISCALPERIOD P on CAST(I.POSTDATE as date) <= P.ENDDATE and CAST(I.POSTDATE as date) >= P.STARTDATE and P.CLOSED = 0
where I.POSTSTATUSCODE = 1)
begin
RAISERROR ('ERR_POSTDATE_CLOSEDFISCALPERIOD', 16, 1)
ROLLBACK
end
end
if exists(select BAT.ID from dbo.BANKACCOUNTTRANSACTION BAT
inner join INSERTED I on I.BANKACCOUNTID = BAT.BANKACCOUNTID and I.TRANSACTIONTYPECODE = BAT.TRANSACTIONTYPECODE
and I.TRANSACTIONNUMBER = BAT.TRANSACTIONNUMBER and I.ID != BAT.ID
where BAT.DELETED = 0)
begin
raiserror('UIX_BANKACCOUNTTRANSACTION_BANKACCOUNTID_TRANSACTIONTYPECODE_TRANSACTIONNUMBER', 16, 1)
rollback transaction
end
end