TR_RECONCILIATION_APPROVEDDURINGSALESDEPOSITPROCESS

Definition

Copy


                    CREATE trigger dbo.TR_RECONCILIATION_APPROVEDDURINGSALESDEPOSITPROCESS
                        on dbo.[RECONCILIATION]
                        for insert, update
                        not for replication
                        as begin
                            if update(STATUSCODE)
                            begin
                                if exists (
                                    select 1
                                    from dbo.[BUSINESSPROCESSSTATUS]
                                    inner join dbo.[SALESDEPOSITPROCESS]
                                        on [BUSINESSPROCESSSTATUS].[BUSINESSPROCESSPARAMETERSETID] = [SALESDEPOSITPROCESS].[ID]
                                    where 
                                        [SALESDEPOSITPROCESS].[ISRECONCILEDPROCESS] = 1 and
                                        [BUSINESSPROCESSSTATUS].[STATUSCODE] = 1
                                )
                                begin
                                    if exists (
                                        select 1
                                        from inserted
                                        left join deleted
                                            on inserted.[ID] = deleted.[ID]
                                        where 
                                            inserted.[STATUSCODE] = 2 and
                                            --Just incase they are approving something that was already approved

                                            (deleted.[ID] is null or deleted.[STATUSCODE] <> 2)
                                    )
                                    begin
                                        raiserror('ERR_RECONCILIATION_APPROVEDDURINGSALESDEPOSITPROCESS',  13, 1
                                    end

                                    if exists (
                                        select 1
                                        from deleted
                                        inner join inserted
                                            on deleted.[ID] = inserted.[ID]
                                        where 
                                            deleted.[STATUSCODE] = 2 and
                                            inserted.[STATUSCODE] not in (2,3)
                                    )
                                    begin
                                        raiserror('ERR_RECONCILIATION_UNAPPROVEDDURINGSALESDEPOSITPROCESS', 13, 1)
                                    end
                                end
                            end
                        end