TR_REVENUESPLITGIFTAID_INSERTUPDATE_CURRENCY

Definition

Copy


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

                        if update(BASETAXCLAIMAMOUNT) or update(TRANSITIONALTAXCLAIMAMOUNT)
                        begin
                            declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(); 

                            update
                                dbo.REVENUESPLITGIFTAID
                            set
                                REVENUESPLITGIFTAID.ORGANIZATIONBASETAXCLAIMAMOUNT = REVENUESPLITGIFTAID.BASETAXCLAIMAMOUNT,
                                REVENUESPLITGIFTAID.TRANSACTIONBASETAXCLAIMAMOUNT = REVENUESPLITGIFTAID.BASETAXCLAIMAMOUNT,

                                REVENUESPLITGIFTAID.ORGANIZATIONTRANSITIONALTAXCLAIMAMOUNT = REVENUESPLITGIFTAID.TRANSITIONALTAXCLAIMAMOUNT,
                                REVENUESPLITGIFTAID.TRANSACTIONTRANSITIONALTAXCLAIMAMOUNT = REVENUESPLITGIFTAID.TRANSITIONALTAXCLAIMAMOUNT,

                                REVENUESPLITGIFTAID.BASECURRENCYID = @ORGANIZATIONCURRENCYID,
                                REVENUESPLITGIFTAID.TRANSACTIONCURRENCYID = @ORGANIZATIONCURRENCYID,
                                REVENUESPLITGIFTAID.CHANGEDBYID = REVENUESPLITGIFTAID.CHANGEDBYID,
                                REVENUESPLITGIFTAID.DATECHANGED = REVENUESPLITGIFTAID.DATECHANGED
                            from
                                inserted
                            inner join
                                dbo.REVENUESPLITGIFTAID on inserted.ID = REVENUESPLITGIFTAID.ID
                            where
                                REVENUESPLITGIFTAID.ORGANIZATIONEXCHANGERATEID is null
                                and (REVENUESPLITGIFTAID.BASECURRENCYID is null or REVENUESPLITGIFTAID.BASECURRENCYID = @ORGANIZATIONCURRENCYID)
                                and REVENUESPLITGIFTAID.BASEEXCHANGERATEID is null
                                and (REVENUESPLITGIFTAID.TRANSACTIONCURRENCYID is null or REVENUESPLITGIFTAID.TRANSACTIONCURRENCYID = @ORGANIZATIONCURRENCYID)
                                and 
                                (
                                    REVENUESPLITGIFTAID.ORGANIZATIONBASETAXCLAIMAMOUNT <> REVENUESPLITGIFTAID.BASETAXCLAIMAMOUNT
                                    or REVENUESPLITGIFTAID.TRANSACTIONBASETAXCLAIMAMOUNT <> REVENUESPLITGIFTAID.BASETAXCLAIMAMOUNT

                                    or REVENUESPLITGIFTAID.ORGANIZATIONTRANSITIONALTAXCLAIMAMOUNT <> REVENUESPLITGIFTAID.TRANSITIONALTAXCLAIMAMOUNT
                                    or REVENUESPLITGIFTAID.TRANSACTIONTRANSITIONALTAXCLAIMAMOUNT <> REVENUESPLITGIFTAID.TRANSITIONALTAXCLAIMAMOUNT
                                    or (
                                        REVENUESPLITGIFTAID.BASETAXCLAIMAMOUNT = 0
                                        and REVENUESPLITGIFTAID.TRANSITIONALTAXCLAIMAMOUNT = 0
                                    )
                                );
                        end
                    end