USP_DISBURSEMENTPROCESS_CREATE
Creates a disbursement process
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | |
@PARENTIDID | uniqueidentifier | IN | |
@CHANGEAGENTID | uniqueidentifier | IN | |
@NAME | nvarchar(255) | IN | |
@DESCRIPTION | nvarchar(255) | IN |
Definition
Copy
CREATE procedure dbo.USP_DISBURSEMENTPROCESS_CREATE
(
@ID uniqueidentifier output
,@PARENTIDID uniqueidentifier
,@CHANGEAGENTID uniqueidentifier
,@NAME nvarchar(255)
,@DESCRIPTION nvarchar(255)
)
as begin
set nocount on;
if @ID is null
set @ID = newid()
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
insert into dbo.DISBURSEMENTPROCESS
(
ID
,NAME
,[DESCRIPTION]
,BANKACCOUNTID
,TYPECODE
,FILTERCODE
,DUEDATE
,DISCOUNTDATE
,IDSETREGISTERID
,DISCOUNTASOFDATE
,DISBURSEMENTDATE
,POSTSTATUSCODE
,POSTDATE
,CREATESELECTIONFROMRESULT
,OUTPUTIDSETRECORDTYPEID
,OUTPUTIDSETNAME
,OVERWRITEOUTPUTIDSET
,SIGNATURE1OPTIONCODE
,SIGNATURE2OPTIONCODE
,SIGNATURE1ID
,SIGNATURE2ID
,STATUSCODE
,DATEADDED
,DATECHANGED
,ADDEDBYID
,CHANGEDBYID
)
select
@ID
,case COALESCE(@NAME ,'')
when '' THEN T.NAME
else @NAME
end as NAME
,case COALESCE(@DESCRIPTION ,'')
when '' THEN T.DESCRIPTION
else @DESCRIPTION
end as DESCRIPTION
,T.BANKACCOUNTID
,T.TYPECODE
,T.FILTERCODE
,case T.DUEDATECODE
when 0 THEN dateadd(day, T.DUEDATENUMBEROFDAYS, getdate())
when 1 THEN dateadd(day, -T.DUEDATENUMBEROFDAYS, getdate())
end as DUEDATE
,case T.INCLUDEINVOICESWITHDISCOUNT
when 1 then (
case T.DISCOUNTDATECODE
when 0 THEN dateadd(day, T.DISCOUNTDATENUMBEROFDAYS, getdate())
when 1 THEN dateadd(day, -T.DISCOUNTDATENUMBEROFDAYS, getdate())
end
)
else
NULL
end as DISCOUNTDATE
,T.IDSETREGISTERID
,dateadd(day,-T.CALCULATEDISCOUNTDAYS,getdate()) as DISCOUNTASOFDATE
,dateadd(day,T.DISBURSEMENTDATENUMBEROFDAYS,getdate()) as DISBURSEMENTDATE
,T.POSTSTATUSCODE
,CASE WHEN T.POSTSTATUSCODE = 3 THEN null else dateadd(day,T.POSTDATENUMBEROFDAYS,getdate()) END as POSTDATE
,T.CREATESELECTIONFROMRESULT
,T.OUTPUTIDSETRECORDTYPEID
,T.OUTPUTIDSETNAME
,T.OVERWRITEOUTPUTIDSET
,T.SIGNATURE1OPTIONCODE
,T.SIGNATURE2OPTIONCODE
,T.SIGNATURE1ID
,T.SIGNATURE2ID
,0 -- Status: Created
,getdate()
,getdate()
,@CHANGEAGENTID
,@CHANGEAGENTID
from dbo.DISBURSEMENTPROCESSTEMPLATE AS T
where T.ID = @PARENTIDID
-- Defaulting in the DisbursementFormat information for the DisbursemnetProcess from the DisbursementProcessTemplate.
----
insert into dbo.DISBURSEMENTPROCESSFORMAT
(
DISBURSEMENTPROCESSID,
DISBURSEMENTFORMATID,
PRINTERID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
select
@ID,
F.DISBURSEMENTFORMATID,
F.PRINTERID,
@CHANGEAGENTID,
@CHANGEAGENTID,
getdate(),
getdate()
from dbo.DISBURSEMENTPROCESSTEMPLATEFORMAT AS F
where F.DISBURSEMENTPROCESSTEMPLATEID = @PARENTIDID
----
-- Defaulting in the Auto-Signatures information for the DisbursementProcess from the DisbursementProcessTemplate.
--****
insert into dbo.DISBURSEMENTPROCESSSIGNATURE
(
DISBURSEMENTPROCESSID,
FROMAMOUNT,
BANKACCOUNTAUTHORIZEDSIGNATUREID,
TYPECODE,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
select
@ID,
FROMAMOUNT,
BANKACCOUNTAUTHORIZEDSIGNATUREID,
TYPECODE,
@CHANGEAGENTID,
@CHANGEAGENTID,
getdate(),
getdate()
from dbo.DISBURSEMENTPROCESSTEMPLATESIGNATURE AS S
where S.DISBURSEMENTPROCESSTEMPLATEID = @PARENTIDID
--****
return 0;
end