USP_DATAFORMTEMPLATE_ADD_SALESDEPOSITPROCESS2
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@NAME | nvarchar(100) | IN | |
@DESCRIPTION | nvarchar(255) | IN | |
@DEPOSITDATEOPTIONCODE | tinyint | IN | |
@DEPOSITDATE | date | IN | |
@PAYMENTDATEOPTIONCODE | tinyint | IN | |
@PAYMENTDATE | date | IN | |
@PDACCOUNTSYSTEMID | uniqueidentifier | IN | |
@TEMPLATES | xml | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_SALESDEPOSITPROCESS2
(
@ID uniqueidentifier = null output
,@CHANGEAGENTID uniqueidentifier = null
,@NAME nvarchar(100)
,@DESCRIPTION nvarchar(255) = null
,@DEPOSITDATEOPTIONCODE tinyint = 0
,@DEPOSITDATE date = null
,@PAYMENTDATEOPTIONCODE tinyint = 1
,@PAYMENTDATE date = null
,@PDACCOUNTSYSTEMID uniqueidentifier = null
,@TEMPLATES xml = null
)
as
set nocount on;
if @ID is null
set @ID = newid()
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
begin try
if @DEPOSITDATEOPTIONCODE != 3
set @DEPOSITDATE = null;
declare @GROUPBYDATE bit = 0
if @DEPOSITDATEOPTIONCODE = 0
set @GROUPBYDATE = 1;
if exists (select 1 from dbo.SALESDEPOSITPROCESS where PDACCOUNTSYSTEMID = @PDACCOUNTSYSTEMID)
raiserror('BBERR_SALESDEPOSITPROCESS_PDACCOUNTSYSTEMUNIQUE', 13, 1)
insert into dbo.SALESDEPOSITPROCESS
(ID, NAME, DESCRIPTION, DEPOSITDATEOPTIONCODE, DEPOSITDATE,
PAYMENTDATEOPTIONCODE, PAYMENTDATE, GROUPBYDATE, ISRECONCILEDPROCESS, PDACCOUNTSYSTEMID,
ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(@ID, @NAME, @DESCRIPTION, @DEPOSITDATEOPTIONCODE, @DEPOSITDATE,
@PAYMENTDATEOPTIONCODE, @PAYMENTDATE, @GROUPBYDATE, 1, @PDACCOUNTSYSTEMID,
@CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
insert into dbo.SALESDEPOSITTEMPLATE
(ID, NAME, SALESDEPOSITPROCESSID, SALESCHANNELOPTIONCODE, PAYMENTMETHODOPTIONCODE, INCLUDEINPROCESS, BANKACCOUNTID, CURRENCYOPTIONCODE,
ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
select
isnull(SDT.ID, newID()), SDT.NAME, @ID, SDT.SALESCHANNELOPTIONCODE, SDT.PAYMENTMETHODOPTIONCODE, SDT.INCLUDEINPROCESS, SDT.BANKACCOUNTID, SDT.CURRENCYOPTIONCODE,
@CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
from dbo.UFN_SALESDEPOSITPROCESS_TEMPLATE_FROMITEMLISTXML(@TEMPLATES) SDT
insert into dbo.SALESDEPOSITTEMPLATEPAYMENTMETHOD
(ID, SALESDEPOSITTEMPLATEID, PAYMENTMETHODCODE, CREDITTYPECODEID, OTHERPAYMENTMETHODCODEID,
ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
select
isnull(SDTPM.ID, newid()), SDTPM.SALESDEPOSITTEMPLATEID, SDTPM.PAYMENTMETHODCODE, SDTPM.CREDITTYPECODEID, SDTPM.OTHERPAYMENTMETHODCODEID,
@CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
from dbo.UFN_SALESDEPOSITPROCESS_TEMPLATEPAYMENTMETHOD_FROMITEMLISTXML(@TEMPLATES) SDTPM
inner join dbo.SALESDEPOSITTEMPLATE SDT on SDT.ID = SDTPM.SALESDEPOSITTEMPLATEID
where SDTPM.INCLUDE = 1 and SDT.PAYMENTMETHODOPTIONCODE = 1
insert into dbo.SALESDEPOSITTEMPLATESALESCHANNEL
(ID, SALESDEPOSITTEMPLATEID, SALESMETHODTYPECODE,
ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
select
isnull(SDTSC.ID, newid()), SDTSC.SALESDEPOSITTEMPLATEID, SDTSC.SALESMETHODTYPECODE,
@CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
from dbo.UFN_SALESDEPOSITPROCESS_TEMPLATESALESCHANNEL_FROMITEMLISTXML(@TEMPLATES) SDTSC
inner join dbo.SALESDEPOSITTEMPLATE SDT on SDT.ID = SDTSC.SALESDEPOSITTEMPLATEID
where SDTSC.INCLUDE = 1 and SDT.SALESCHANNELOPTIONCODE = 1
insert into dbo.SALESDEPOSITTEMPLATECURRENCY
(ID, SALESDEPOSITTEMPLATEID, CURRENCYID,
ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
select
isnull(SDTC.ID, newid()), SDTC.SALESDEPOSITTEMPLATEID, SDTC.CURRENCYID,
@CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE
from dbo.UFN_SALESDEPOSITPROCESS_TEMPLATECURRENCY_FROMITEMLISTXML(@TEMPLATES) SDTC
inner join dbo.SALESDEPOSITTEMPLATE SDT on SDT.ID = SDTC.SALESDEPOSITTEMPLATEID
where SDTC.INCLUDE = 1 and SDT.CURRENCYOPTIONCODE = 1
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0