TR_RECOGNITIONLEVEL_INSERTUPDATE_CURRENCY

Definition

Copy


                    create trigger [dbo].[TR_RECOGNITIONLEVEL_INSERTUPDATE_CURRENCY] on [dbo].[RECOGNITIONLEVEL] 
                    after insert, update 
                    not for replication
                    as
                    begin
                        set nocount on;

                        declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(); 

                        -- If we try to save an amount without explicitly setting an organization amount

                        -- and an exchange rate, copy the amount to the organization field.

                        update
                            dbo.RECOGNITIONLEVEL
                        set                                
                            RECOGNITIONLEVEL.BASECURRENCYID = @ORGANIZATIONCURRENCYID,
                            RECOGNITIONLEVEL.CHANGEDBYID = RECOGNITIONLEVEL.CHANGEDBYID,
                            RECOGNITIONLEVEL.DATECHANGED = RECOGNITIONLEVEL.DATECHANGED
                        from
                            inserted
                        inner join
                            dbo.RECOGNITIONLEVEL on inserted.ID = RECOGNITIONLEVEL.ID
                        where
                            RECOGNITIONLEVEL.ORGANIZATIONEXCHANGERATEID is null
                            and (RECOGNITIONLEVEL.BASECURRENCYID is null or RECOGNITIONLEVEL.BASECURRENCYID = @ORGANIZATIONCURRENCYID);
                    end