TR_REVENUESPLIT_INSERTUPDATE_CURRENCY

Definition

Copy


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

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

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