UFN_RECONCILIATION_VALIDATECANMARKDEPOSITED

This function returns whether or not a reconciliation can be marked deposited.

Return

Return Type
bit

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN

Definition

Copy


            CREATE function dbo.UFN_RECONCILIATION_VALIDATECANMARKDEPOSITED
            (
                @ID uniqueidentifier
            ) 
            returns bit
            as begin            

                declare @CANMARKDEPOSITED bit = 1
                if exists (
                    select distinct [RECONCILIATION].[ID]
                    from dbo.[RECONCILIATION] 
                    left join dbo.[SALESORDERPAYMENT] 
                        on [RECONCILIATION].[ID] = [SALESORDERPAYMENT].[RECONCILIATIONID]
                    left join dbo.[REVENUE]
                        on [SALESORDERPAYMENT].[PAYMENTID] = [REVENUE].[ID]
                    left join dbo.[REVENUEPAYMENTMETHOD] 
                        on [REVENUE].[ID] = [REVENUEPAYMENTMETHOD].[REVENUEID]
                    where 
                        [RECONCILIATION].[ID] = @ID and
                        (
                            ( --We have payments to be deposited

                                [REVENUE].[DONOTPOST] <> 1 and [REVENUE].[ID] not in (
                                    select [BANKACCOUNTDEPOSITPAYMENT].[ID] 
                                    from dbo.[BANKACCOUNTDEPOSITPAYMENT]
                                ) and
                                [REVENUEPAYMENTMETHOD].[PAYMENTMETHODCODE] <> 10
                            ) or
                            --Reconciliation is not approved

                            [RECONCILIATION].[STATUSCODE] <> 2
                        )
                ) set @CANMARKDEPOSITED = 0

                return @CANMARKDEPOSITED;
            end