TR_INSTALLMENTSPLIT_INSERTUPDATE_REVENUESPLITID

Definition

Copy


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

                        if update(REVENUESPLITID)
                        begin
                            update
                                dbo.INSTALLMENTSPLIT
                            set
                                INSTALLMENTSPLIT.REVENUESPLITID = REVENUESPLIT.ID,
                                INSTALLMENTSPLIT.CHANGEDBYID = INSTALLMENTSPLIT.CHANGEDBYID,
                                INSTALLMENTSPLIT.DATECHANGED = INSTALLMENTSPLIT.DATECHANGED
                            from
                                inserted
                            inner join
                                dbo.INSTALLMENTSPLIT on inserted.ID = INSTALLMENTSPLIT.ID
                            inner join
                                dbo.FINANCIALTRANSACTIONLINEITEM REVENUESPLIT on INSTALLMENTSPLIT.PLEDGEID = REVENUESPLIT.FINANCIALTRANSACTIONID 
                            inner join
                                dbo.REVENUESPLIT_EXT on REVENUESPLIT.ID = REVENUESPLIT_EXT.ID and INSTALLMENTSPLIT.DESIGNATIONID = REVENUESPLIT_EXT.DESIGNATIONID
                            where
                                INSTALLMENTSPLIT.REVENUESPLITID is null
                                and INSTALLMENTSPLIT.DESIGNATIONID is not null
                                and REVENUESPLIT.DELETEDON is null
                                and REVENUESPLIT.TYPECODE <> 1;

              -- Bug fix  194918: For membership installments the revenue split id is passed down as null in the installment splits. This will ensure the correct revenue split id

              -- is put back in place for FTM transactions.

              update
                                dbo.INSTALLMENTSPLIT
                            set
                                INSTALLMENTSPLIT.REVENUESPLITID = FINANCIALTRANSACTIONLINEITEM.ID,
                                INSTALLMENTSPLIT.CHANGEDBYID = INSTALLMENTSPLIT.CHANGEDBYID,
                                INSTALLMENTSPLIT.DATECHANGED = INSTALLMENTSPLIT.DATECHANGED
                            from
                                inserted
                            inner join
                                dbo.INSTALLMENTSPLIT on inserted.ID = INSTALLMENTSPLIT.ID
              inner join
                  dbo.FINANCIALTRANSACTIONLINEITEM on INSTALLMENTSPLIT.PLEDGEID = FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID
                            where
                                INSTALLMENTSPLIT.REVENUESPLITID is null;  
                        end
                    end