UFN_SALESDEPOSITTEMPLATE_GETUNLINKEDPAYMENTS
This function returns a table of unlinked payments with payment types in the sales deposit template.
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SALESDEPOSITTEMPLATEID | uniqueidentifier | IN | |
@REQUIRERECONCILED | bit | IN | |
@SALESMETHODTYPECODE | tinyint | IN |
Definition
Copy
CREATE function dbo.UFN_SALESDEPOSITTEMPLATE_GETUNLINKEDPAYMENTS
(
@SALESDEPOSITTEMPLATEID uniqueidentifier,
@REQUIRERECONCILED bit = 1, --6/6/11 Now directly related to sales order payments' DoNotReconcile flag
@SALESMETHODTYPECODE tinyint = null
)
returns table
as
return
select
[REVENUE].[ID],
[REVENUE].[DATE] as [TRANSACTIONDATE],
[REVENUEPAYMENTMETHOD].[PAYMENTMETHOD],
[REVENUE].[AMOUNT],
[REVENUE].[TRANSACTIONTYPE]
from dbo.[REVENUE] with (nolock)
inner join (select ID, SALESORDERID, PAYMENTID, RECONCILIATIONID, AMOUNT, DONOTRECONCILE from dbo.SALESORDERPAYMENT with (nolock)
union all
select ID, RESERVATIONID as SALESORDERID, PAYMENTID, RECONCILIATIONID, AMOUNT, 0 as DONOTRECONCILE from dbo.RESERVATIONSECURITYDEPOSITPAYMENT with (nolock)
) as SALESORDERPAYMENT
on [REVENUE].[ID] = [SALESORDERPAYMENT].[PAYMENTID]
inner join dbo.[SALESORDER] with (nolock)
on [SALESORDERPAYMENT].[SALESORDERID] = [SALESORDER].[ID]
inner join dbo.[REVENUEPAYMENTMETHOD] with (nolock)
on [REVENUE].[ID] = [REVENUEPAYMENTMETHOD].[REVENUEID]
left join dbo.[CREDITCARDPAYMENTMETHODDETAIL] with (nolock)
on [REVENUEPAYMENTMETHOD].[ID] = [CREDITCARDPAYMENTMETHODDETAIL].[ID]
left join dbo.[OTHERPAYMENTMETHODDETAIL] with (nolock)
on [REVENUEPAYMENTMETHOD].[ID] = [OTHERPAYMENTMETHODDETAIL].[ID]
where
--Unlinked (Not linked) to a deposit
[REVENUE].[ID] not in (
select [BANKACCOUNTDEPOSITPAYMENT].[ID]
from dbo.[BANKACCOUNTDEPOSITPAYMENT] with (nolock)
) and
--Reconciled/Unreconciled
(
(@REQUIRERECONCILED = 0 and [SALESORDERPAYMENT].[DONOTRECONCILE] = 1 and [SALESORDER].[STATUSCODE] = 1) or
(
[SALESORDERPAYMENT].[DONOTRECONCILE] = 0 and
[SALESORDERPAYMENT].[RECONCILIATIONID] in (
select [RECONCILIATION].[ID]
from dbo.[RECONCILIATION]
where [RECONCILIATION].[STATUSCODE] = 2
)
)
) and
--Payment type
(
[REVENUEPAYMENTMETHOD].[PAYMENTMETHODCODE] in (
select [SALESDEPOSITTEMPLATEPAYMENTMETHOD].[PAYMENTMETHODCODE]
from dbo.[SALESDEPOSITTEMPLATEPAYMENTMETHOD]
where [SALESDEPOSITTEMPLATEPAYMENTMETHOD].[SALESDEPOSITTEMPLATEID] = @SALESDEPOSITTEMPLATEID
) and
(
[REVENUEPAYMENTMETHOD].[PAYMENTMETHODCODE] not in (2, 10) or
(
[REVENUEPAYMENTMETHOD].[PAYMENTMETHODCODE] = 2 and
[CREDITCARDPAYMENTMETHODDETAIL].[CREDITTYPECODEID] in (
select [SALESDEPOSITTEMPLATEPAYMENTMETHOD].[CREDITTYPECODEID]
from dbo.[SALESDEPOSITTEMPLATEPAYMENTMETHOD]
where [SALESDEPOSITTEMPLATEPAYMENTMETHOD].[SALESDEPOSITTEMPLATEID] = @SALESDEPOSITTEMPLATEID)
) or
(
[REVENUEPAYMENTMETHOD].[PAYMENTMETHODCODE] = 10 and
[OTHERPAYMENTMETHODDETAIL].[OTHERPAYMENTMETHODCODEID] in (
select [SALESDEPOSITTEMPLATEPAYMENTMETHOD].[OTHERPAYMENTMETHODCODEID]
from dbo.[SALESDEPOSITTEMPLATEPAYMENTMETHOD]
where [SALESDEPOSITTEMPLATEPAYMENTMETHOD].[SALESDEPOSITTEMPLATEID] = @SALESDEPOSITTEMPLATEID) and
[OTHERPAYMENTMETHODDETAIL].[OTHERPAYMENTMETHODCODEID] not in (select ID from dbo.NONDEPOSITABLEPAYMENTMETHOD)
)
)
) and
--Sales method
([SALESORDER].[SALESMETHODTYPECODE] = @SALESMETHODTYPECODE or @SALESMETHODTYPECODE is null)