TR_JOBOCCURRENCE_INSERTUPDATE_CURRENCY
Definition
Copy
create trigger dbo.[TR_JOBOCCURRENCE_INSERTUPDATE_CURRENCY] on dbo.[JOBOCCURRENCE]
after insert, update
not for replication
as
begin
set nocount on;
-- occurrences inherit their base currency from the parent job
update dbo.[JOBOCCURRENCE] set
[JOBOCCURRENCE].[BASECURRENCYID] = [JOB].[BASECURRENCYID],
[JOBOCCURRENCE].[CHANGEDBYID] = [JOBOCCURRENCE].[CHANGEDBYID],
[JOBOCCURRENCE].[DATECHANGED] = [JOBOCCURRENCE].[DATECHANGED]
from inserted
inner join dbo.[JOBOCCURRENCE] on [JOBOCCURRENCE].[ID] = inserted.[ID]
inner join dbo.[JOB] on [JOB].[ID] = [JOBOCCURRENCE].[JOBID]
where [JOBOCCURRENCE].[BASECURRENCYID] is null;
declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.[UFN_CURRENCY_GETORGANIZATIONCURRENCY]();
if update([ESTIMATEDVALUE])
update dbo.[JOBOCCURRENCE] set
[JOBOCCURRENCE].[ORGANIZATIONESTIMATEDVALUE] = [JOBOCCURRENCE].[ESTIMATEDVALUE],
[JOBOCCURRENCE].[CHANGEDBYID] = [JOBOCCURRENCE].[CHANGEDBYID],
[JOBOCCURRENCE].[DATECHANGED] = [JOBOCCURRENCE].[DATECHANGED]
from inserted
inner join dbo.[JOBOCCURRENCE] on [JOBOCCURRENCE].[ID] = inserted.[ID]
where [JOBOCCURRENCE].[ORGANIZATIONEXCHANGERATEID] is null
and [JOBOCCURRENCE].[BASECURRENCYID] = @ORGANIZATIONCURRENCYID
and ([JOBOCCURRENCE].[ORGANIZATIONESTIMATEDVALUE] <> [JOBOCCURRENCE].[ESTIMATEDVALUE] or [JOBOCCURRENCE].[ESTIMATEDVALUE] = 0);
end