TR_RECURRINGGIFTINSTALLMENTWRITEOFF_UPDATE_STATUSCODEUPDATE

Definition

Copy


                    CREATE trigger [dbo].[TR_RECURRINGGIFTINSTALLMENTWRITEOFF_UPDATE_STATUSCODEUPDATE] on [dbo].[RECURRINGGIFTINSTALLMENTWRITEOFF] 
                    after update
                    not for replication
                    as
                    begin
                        set nocount on;

                        -- update the rg installment.statuscode to reflect writeoff/skip

                        update rgi
                        set STATUSCODE = case when (select rgw.typecode from dbo.RECURRINGGIFTWRITEOFF rgw where ins.WRITEOFFID = rgw.ID) = 1 then 3 -- skips

                                              -- otherwise deal with write-offs

                                              else case when ins.AMOUNT = rgi.AMOUNT then 4
                                                        when ins.AMOUNT < del.AMOUNT then case when rgi.PASTDUEDATE is not null then 1 else 0 end
                                                        else dbo.UFN_RECURRINGGIFTINSTALLMENT_DETERMINESTATUSAFTERCHANGE(rgi.ID,rgi.STATUSCODE,4) end
                                              end,
                            rgi.CHANGEDBYID = ins.CHANGEDBYID,
                            rgi.DATECHANGED = ins.DATECHANGED
                        from dbo.RECURRINGGIFTINSTALLMENT rgi
                        inner join inserted ins on ins.RECURRINGGIFTINSTALLMENTID = rgi.ID
                        inner join deleted del on del.ID = ins.ID
                        where ins.AMOUNT <> del.AMOUNT

                    end