TR_GRANTS_INSERTUPDATE_CURRENCY
Definition
Copy
CREATE trigger [dbo].[TR_GRANTS_INSERTUPDATE_CURRENCY] on [dbo].[GRANTS]
after insert, update
not for replication
as
begin
set nocount on;
declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
if update(MINAWARD) or update(MAXAWARD)
update
dbo.GRANTS
set
GRANTS.ORGANIZATIONMINAWARD = GRANTS.MINAWARD,
GRANTS.TRANSACTIONMINAWARD = GRANTS.MINAWARD,
GRANTS.ORGANIZATIONMAXAWARD = GRANTS.MAXAWARD,
GRANTS.TRANSACTIONMAXAWARD = GRANTS.MAXAWARD,
GRANTS.BASECURRENCYID = @ORGANIZATIONCURRENCYID,
GRANTS.TRANSACTIONCURRENCYID = @ORGANIZATIONCURRENCYID,
GRANTS.CHANGEDBYID = GRANTS.CHANGEDBYID,
GRANTS.DATECHANGED = GRANTS.DATECHANGED
from
inserted
inner join
dbo.GRANTS on inserted.ID = GRANTS.ID
where
GRANTS.ORGANIZATIONEXCHANGERATEID is null
and (GRANTS.BASECURRENCYID is null or GRANTS.BASECURRENCYID = @ORGANIZATIONCURRENCYID)
and GRANTS.BASEEXCHANGERATEID is null
and (GRANTS.TRANSACTIONCURRENCYID is null or GRANTS.TRANSACTIONCURRENCYID = @ORGANIZATIONCURRENCYID)
and
(
GRANTS.ORGANIZATIONMINAWARD <> GRANTS.MINAWARD
or GRANTS.TRANSACTIONMINAWARD <> GRANTS.MINAWARD
or GRANTS.ORGANIZATIONMAXAWARD <> GRANTS.MAXAWARD
or GRANTS.TRANSACTIONMAXAWARD <> GRANTS.MAXAWARD
or (GRANTS.MAXAWARD = 0 and GRANTS.MINAWARD = 0)
);
end