USP_DATAFORMTEMPLATE_ADD_SALESDEPOSITTEMPLATE_PRELOAD
The load procedure used by the edit dataform template "Sales Deposit Template Add Data Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SALESDEPOSITPROCESSID | uniqueidentifier | IN | Input parameter indicating the context ID for the record being added. |
@PAYMENTTYPE | xml | INOUT | Payment types |
@DEPOSITDATE | nvarchar(10) | INOUT | Deposit date |
@STATUS | nvarchar(10) | INOUT | Status |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_SALESDEPOSITTEMPLATE_PRELOAD
(
@SALESDEPOSITPROCESSID uniqueidentifier,
@PAYMENTTYPE xml = null output,
@DEPOSITDATE nvarchar(10) = null output,
@STATUS nvarchar(10) = null output
)
as
set nocount on;
set @DEPOSITDATE = 'Today'
set @STATUS = 'Locked'
--The payment types currently in a sales deposit template in this process
declare @CURRENTSALESDEPOSITPAYMENTTYPES table (
[SALESDEPOSITTEMPLATENAME] nvarchar(100),
[PAYMENTMETHODCODE] tinyint,
[CREDITTYPECODEID] uniqueidentifier,
[OTHERPAYMENTMETHODCODEID] uniqueidentifier
)
insert into @CURRENTSALESDEPOSITPAYMENTTYPES
select
[SALESDEPOSITTEMPLATE].[NAME],
[SALESDEPOSITTEMPLATEPAYMENTMETHOD].[PAYMENTMETHODCODE],
[SALESDEPOSITTEMPLATEPAYMENTMETHOD].[CREDITTYPECODEID],
[SALESDEPOSITTEMPLATEPAYMENTMETHOD].[OTHERPAYMENTMETHODCODEID]
from dbo.[SALESDEPOSITTEMPLATE]
inner join dbo.[SALESDEPOSITTEMPLATEPAYMENTMETHOD]
on [SALESDEPOSITTEMPLATE].[ID] = [SALESDEPOSITTEMPLATEPAYMENTMETHOD].[SALESDEPOSITTEMPLATEID]
where [SALESDEPOSITTEMPLATE].[SALESDEPOSITPROCESSID] = @SALESDEPOSITPROCESSID;
--The payment types temp table selectable in form
declare @PAYMENTTYPES table (
[ISAVAILABLE] bit,
[PAYMENTMETHOD] nvarchar(100),
[PAYMENTMETHODCODE] tinyint,
[CREDITTYPECODEID] uniqueidentifier,
[HASDEPOSIT] bit,
[SALESDEPOSITTEMPLATENAME] nvarchar(100),
[OTHERPAYMENTMETHODCODEID] uniqueidentifier
)
insert into @PAYMENTTYPES
select
0 as [ISAVAILABLE],
dbo.UFN_REVENUEPAYMENTMETHOD_PAYMENTMETHODCODE_GETDESCRIPTION(0) as [PAYMENTMETHOD],
0 as [PAYMENTMETHODCODE],
null as [CREDITTYPECODEID],
case when exists (
select [CSDPT].[SALESDEPOSITTEMPLATENAME]
from @CURRENTSALESDEPOSITPAYMENTTYPES as [CSDPT]
where [CSDPT].[PAYMENTMETHODCODE] = 0
) then 1
else 0
end as [HASDEPOSIT],
(
select top 1 [CSDPT].[SALESDEPOSITTEMPLATENAME]
from @CURRENTSALESDEPOSITPAYMENTTYPES as [CSDPT]
where [CSDPT].[PAYMENTMETHODCODE] = 0
) as [SALESDEPOSITTEMPLATENAME],
null as [OTHERPAYMENTMETHODCODEID]
union all
select
0 as [ISAVAILABLE],
dbo.UFN_REVENUEPAYMENTMETHOD_PAYMENTMETHODCODE_GETDESCRIPTION(1) as [PAYMENTMETHOD],
1 as [PAYMENTMETHODCODE],
null as [CREDITTYPECODEID],
case when exists (
select [CSDPT].[SALESDEPOSITTEMPLATENAME]
from @CURRENTSALESDEPOSITPAYMENTTYPES as [CSDPT]
where [CSDPT].[PAYMENTMETHODCODE] = 1
) then 1
else 0
end as [HASDEPOSIT],
(
select top 1 [CSDPT].[SALESDEPOSITTEMPLATENAME]
from @CURRENTSALESDEPOSITPAYMENTTYPES as [CSDPT]
where [CSDPT].[PAYMENTMETHODCODE] = 1
) as [SALESDEPOSITTEMPLATENAME],
null as [OTHERPAYMENTMETHODCODEID]
union all
select
0 as [ISAVAILABLE],
[CREDITTYPECODE].[DESCRIPTION] as [PAYMENTMETHOD],
2 as [PAYMENTMETHODCODE],
[CREDITTYPECODE].[ID] as [CREDITTYPECODEID],
case when [CREDITTYPECODE].[ID] in (
select [CSDPT].[CREDITTYPECODEID]
from @CURRENTSALESDEPOSITPAYMENTTYPES as [CSDPT]
where [CSDPT].[PAYMENTMETHODCODE] = 2
) then 1
else 0
end as [HASDEPOSIT],
(
select top 1 [CSDPT].[SALESDEPOSITTEMPLATENAME]
from @CURRENTSALESDEPOSITPAYMENTTYPES as [CSDPT]
where
[CSDPT].[PAYMENTMETHODCODE] = 2 and
[CSDPT].[CREDITTYPECODEID] = [CREDITTYPECODE].[ID]
) as [SALESDEPOSITTEMPLATENAME],
null as [OTHERPAYMENTMETHODCODEID]
from dbo.[CREDITTYPECODE]
where [ACTIVE] = 1
union all
select
0 as [ISAVAILABLE],
[OTHERPAYMENTMETHODCODE].[DESCRIPTION] as [PAYMENTMETHOD],
10 as [PAYMENTMETHODCODE],
null as [CREDITTYPECODEID],
case when [OTHERPAYMENTMETHODCODE].[ID] in (
select [CSDPT].[OTHERPAYMENTMETHODCODEID]
from @CURRENTSALESDEPOSITPAYMENTTYPES as [CSDPT]
where [CSDPT].[PAYMENTMETHODCODE] = 10
) then 1
else 0
end as [HASOTHERDEPOSIT],
(
select top 1 [CSDPT].[SALESDEPOSITTEMPLATENAME]
from @CURRENTSALESDEPOSITPAYMENTTYPES as [CSDPT]
where
[CSDPT].[PAYMENTMETHODCODE] = 10 and
[CSDPT].[OTHERPAYMENTMETHODCODEID] = [OTHERPAYMENTMETHODCODE].[ID]
) as [SALESDEPOSITTEMPLATENAME],
[OTHERPAYMENTMETHODCODE].[ID] as [OTHERPAYMENTMETHODCODEID]
from dbo.[OTHERPAYMENTMETHODCODE]
where [ACTIVE] = 1
and [ID] not in (select ID from dbo.NONDEPOSITABLEPAYMENTMETHOD);
set @PAYMENTTYPE =
(
select
[PAYMENTTYPES].[ISAVAILABLE],
[PAYMENTTYPES].[PAYMENTMETHOD],
[PAYMENTTYPES].[PAYMENTMETHODCODE],
[PAYMENTTYPES].[CREDITTYPECODEID],
[PAYMENTTYPES].[HASDEPOSIT],
[PAYMENTTYPES].[SALESDEPOSITTEMPLATENAME],
[PAYMENTTYPES].[OTHERPAYMENTMETHODCODEID]
from @PAYMENTTYPES as [PAYMENTTYPES]
for xml raw ('ITEM'), type, elements, root('PAYMENTTYPE'), BINARY BASE64
)
return 0;