TR_REVENUESPLITBUSINESSUNIT_INSERTUPDATE_CURRENCY

Definition

Copy


                CREATE trigger [dbo].[TR_REVENUESPLITBUSINESSUNIT_INSERTUPDATE_CURRENCY] on [dbo].[REVENUESPLITBUSINESSUNIT] 
                after insert, update 
                not for replication
                as
                begin
                    set nocount on;

                    if update(AMOUNT)
                    begin
                        declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(); 

                        update
                            dbo.REVENUESPLITBUSINESSUNIT
                        set
                            REVENUESPLITBUSINESSUNIT.ORGANIZATIONAMOUNT = REVENUESPLITBUSINESSUNIT.AMOUNT,
                            REVENUESPLITBUSINESSUNIT.BASECURRENCYID = @ORGANIZATIONCURRENCYID,
                            REVENUESPLITBUSINESSUNIT.CHANGEDBYID = REVENUESPLITBUSINESSUNIT.CHANGEDBYID,
                            REVENUESPLITBUSINESSUNIT.DATECHANGED = REVENUESPLITBUSINESSUNIT.DATECHANGED
                        from
                            inserted
                        inner join
                            dbo.REVENUESPLITBUSINESSUNIT on inserted.ID = REVENUESPLITBUSINESSUNIT.ID
                        where
                            REVENUESPLITBUSINESSUNIT.ORGANIZATIONEXCHANGERATEID is null
                            and (REVENUESPLITBUSINESSUNIT.BASECURRENCYID is null or REVENUESPLITBUSINESSUNIT.BASECURRENCYID = @ORGANIZATIONCURRENCYID)
                            and (
                                REVENUESPLITBUSINESSUNIT.ORGANIZATIONAMOUNT <> REVENUESPLITBUSINESSUNIT.AMOUNT
                                or REVENUESPLITBUSINESSUNIT.AMOUNT = 0
                            );
                    end
                end