TR_DESIGNATIONLEVELFINANCIALINFO_INSERTUPDATE_CURRENCY

Definition

Copy


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

                        declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(); 
                        if update(BOOKVALUESTART) or update(BOOKVALUEEND) or update(MARKETVALUESTART) or update(MARKETVALUEEND) or update(TOTALGIFTREVENUE) or update(TOTALDISBURSEMENTS) or update(PLEDGEBALANCE)
                            update
                                dbo.DESIGNATIONLEVELFINANCIALINFO
                            set
                                DESIGNATIONLEVELFINANCIALINFO.ORGANIZATIONBOOKVALUESTART = DESIGNATIONLEVELFINANCIALINFO.BOOKVALUESTART,
                                DESIGNATIONLEVELFINANCIALINFO.ORGANIZATIONBOOKVALUEEND = DESIGNATIONLEVELFINANCIALINFO.BOOKVALUEEND,

                                DESIGNATIONLEVELFINANCIALINFO.ORGANIZATIONMARKETVALUESTART = DESIGNATIONLEVELFINANCIALINFO.MARKETVALUESTART,
                                DESIGNATIONLEVELFINANCIALINFO.ORGANIZATIONMARKETVALUEEND = DESIGNATIONLEVELFINANCIALINFO.MARKETVALUEEND,

                                DESIGNATIONLEVELFINANCIALINFO.ORGANIZATIONTOTALGIFTREVENUE = DESIGNATIONLEVELFINANCIALINFO.TOTALGIFTREVENUE,
                                DESIGNATIONLEVELFINANCIALINFO.ORGANIZATIONTOTALDISBURSEMENTS = DESIGNATIONLEVELFINANCIALINFO.TOTALDISBURSEMENTS,
                                DESIGNATIONLEVELFINANCIALINFO.ORGANIZATIONPLEDGEBALANCE = DESIGNATIONLEVELFINANCIALINFO.PLEDGEBALANCE,

                                DESIGNATIONLEVELFINANCIALINFO.BASECURRENCYID = @ORGANIZATIONCURRENCYID,
                                DESIGNATIONLEVELFINANCIALINFO.CHANGEDBYID = DESIGNATIONLEVELFINANCIALINFO.CHANGEDBYID,
                                DESIGNATIONLEVELFINANCIALINFO.DATECHANGED = DESIGNATIONLEVELFINANCIALINFO.DATECHANGED
                            from
                                inserted
                            inner join
                                dbo.DESIGNATIONLEVELFINANCIALINFO on inserted.ID = DESIGNATIONLEVELFINANCIALINFO.ID
                            where
                                DESIGNATIONLEVELFINANCIALINFO.ORGANIZATIONEXCHANGERATEID is null
                                and (DESIGNATIONLEVELFINANCIALINFO.BASECURRENCYID is null or DESIGNATIONLEVELFINANCIALINFO.BASECURRENCYID = @ORGANIZATIONCURRENCYID)
                                and
                                (
                                    DESIGNATIONLEVELFINANCIALINFO.ORGANIZATIONBOOKVALUESTART <> DESIGNATIONLEVELFINANCIALINFO.BOOKVALUESTART
                                    or DESIGNATIONLEVELFINANCIALINFO.ORGANIZATIONBOOKVALUEEND <> DESIGNATIONLEVELFINANCIALINFO.BOOKVALUEEND
                                    or DESIGNATIONLEVELFINANCIALINFO.ORGANIZATIONMARKETVALUESTART <> DESIGNATIONLEVELFINANCIALINFO.MARKETVALUESTART
                                    or DESIGNATIONLEVELFINANCIALINFO.ORGANIZATIONMARKETVALUEEND <> DESIGNATIONLEVELFINANCIALINFO.MARKETVALUEEND
                                    or DESIGNATIONLEVELFINANCIALINFO.ORGANIZATIONTOTALGIFTREVENUE <> DESIGNATIONLEVELFINANCIALINFO.TOTALGIFTREVENUE
                                    or DESIGNATIONLEVELFINANCIALINFO.ORGANIZATIONTOTALDISBURSEMENTS <> DESIGNATIONLEVELFINANCIALINFO.TOTALDISBURSEMENTS
                                    or DESIGNATIONLEVELFINANCIALINFO.ORGANIZATIONPLEDGEBALANCE <> DESIGNATIONLEVELFINANCIALINFO.PLEDGEBALANCE
                                    or (
                                        DESIGNATIONLEVELFINANCIALINFO.BOOKVALUESTART = 0 and
                                        DESIGNATIONLEVELFINANCIALINFO.BOOKVALUEEND = 0 and
                                        DESIGNATIONLEVELFINANCIALINFO.MARKETVALUESTART = 0 and
                                        DESIGNATIONLEVELFINANCIALINFO.MARKETVALUEEND = 0 and
                                        DESIGNATIONLEVELFINANCIALINFO.TOTALGIFTREVENUE = 0 and
                                        DESIGNATIONLEVELFINANCIALINFO.TOTALDISBURSEMENTS = 0 and
                                        DESIGNATIONLEVELFINANCIALINFO.PLEDGEBALANCE = 0
                                    )
                                );
                        end