UFN_SALESDEPOSITTEMPLATEPAYMENTMETHOD_VALIDSALESDEPOSIT
Verifies that a payment type has not already been assigned a deposit template within the process.
Return
Return Type |
---|
bit |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_SALESDEPOSITTEMPLATEPAYMENTMETHOD_VALIDSALESDEPOSIT
(
@ID uniqueidentifier
)
returns bit
with execute as caller
as begin
declare @PAYMENTMETHODCODE tinyint = null
declare @CREDITTYPECODE uniqueidentifier = null
declare @OTHERPAYMENTMETHODCODEID uniqueidentifier = null
declare @SALESDEPOSITPROCESSID uniqueidentifier = null
select
@PAYMENTMETHODCODE = [SALESDEPOSITTEMPLATEPAYMENTMETHOD].[PAYMENTMETHODCODE],
@CREDITTYPECODE = [SALESDEPOSITTEMPLATEPAYMENTMETHOD].[CREDITTYPECODEID],
@SALESDEPOSITPROCESSID = [SALESDEPOSITTEMPLATE].[SALESDEPOSITPROCESSID],
@OTHERPAYMENTMETHODCODEID = [SALESDEPOSITTEMPLATEPAYMENTMETHOD].[OTHERPAYMENTMETHODCODEID]
from dbo.[SALESDEPOSITTEMPLATEPAYMENTMETHOD]
inner join dbo.[SALESDEPOSITTEMPLATE]
on [SALESDEPOSITTEMPLATEPAYMENTMETHOD].[SALESDEPOSITTEMPLATEID] = [SALESDEPOSITTEMPLATE].[ID]
where
[SALESDEPOSITTEMPLATEPAYMENTMETHOD].[ID] = @ID
return (
case
when coalesce((
select count(*)
from dbo.[SALESDEPOSITTEMPLATEPAYMENTMETHOD]
inner join dbo.[SALESDEPOSITTEMPLATE]
on [SALESDEPOSITTEMPLATEPAYMENTMETHOD].[SALESDEPOSITTEMPLATEID] = [SALESDEPOSITTEMPLATE].[ID]
where
[SALESDEPOSITTEMPLATEPAYMENTMETHOD].[PAYMENTMETHODCODE] = @PAYMENTMETHODCODE and
([SALESDEPOSITTEMPLATEPAYMENTMETHOD].[CREDITTYPECODEID] = @CREDITTYPECODE or @CREDITTYPECODE is null) and
([SALESDEPOSITTEMPLATEPAYMENTMETHOD].[OTHERPAYMENTMETHODCODEID] = @OTHERPAYMENTMETHODCODEID or @OTHERPAYMENTMETHODCODEID is null) and
[SALESDEPOSITTEMPLATE].[SALESDEPOSITPROCESSID] = @SALESDEPOSITPROCESSID
),0) > 1 then 0
else 1
end
)
end