USP_DISBURSEMENTTRANSACTION_REMOVE
Executes the "Disbursement Transaction: Remove" record operation.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | Input parameter indicating the ID of the record being updated. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the update. |
Definition
Copy
CREATE procedure dbo.USP_DISBURSEMENTTRANSACTION_REMOVE
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier
)
as begin
declare @DATECHANGED datetime;
declare @DPDID uniqueidentifier = @ID;
set @DATECHANGED = getdate();
update dbo.FINANCIALTRANSACTIONAPPLICATION set
AMOUNT = 0
,CHANGEDBYID = @CHANGEAGENTID
,DATECHANGED = @DATECHANGED
from dbo.DISBURSEMENTPROCESSDISBURSEMENT DPD
inner join dbo.FINANCIALTRANSACTIONAPPLICATION FTA on DPD.ID = FTA.FINANCIALTRANSACTIONID
where DPD.ID = @ID;
-- nothing found during bulk update means it wasn't a DPD ID
if @@ROWCOUNT = 0
begin
update dbo.FINANCIALTRANSACTIONAPPLICATION set
AMOUNT = 0
,CHANGEDBYID = @CHANGEAGENTID
,DATECHANGED = @DATECHANGED
where ID = @ID;
-- nothing found again is an error
if @@ROWCOUNT = 0
begin
exec dbo.USP_RAISE_ERROR;
return 1;
end
-- get the DPD ID
select
@DPDID = FT.ID
from dbo.FINANCIALTRANSACTIONAPPLICATION FTA
inner join dbo.FINANCIALTRANSACTION FT on FT.ID = FTA.FINANCIALTRANSACTIONID
where FTA.ID = @ID
and FT.TYPECODE = 255;
-- update any discounts to 0 as well.
update FTD set
AMOUNT = 0
,CHANGEDBYID = @CHANGEAGENTID
,DATECHANGED = @DATECHANGED
from dbo.FINANCIALTRANSACTIONAPPLICATION FTA
inner join dbo.FINANCIALTRANSACTIONAPPLICATION FTD on
FTA.FINANCIALTRANSACTIONSCHEDULEID = FTD.FINANCIALTRANSACTIONSCHEDULEID and FTD.TYPECODE = 1
where FTA.ID = @ID
and FTA.TYPECODE = 0;
end
-- update the DPD ID associated
exec dbo.USP_DISBURSEMENTPROCESS_UPDATE_DISBURSEMENTPROCESSDISBURSEMENT_AMOUNT
@DISBURSEMENTPROCESSDISBURSEMENTID = @DPDID
, @CHANGEAGENTID = @CHANGEAGENTID
, @DATECHANGED = @DATECHANGED;
return 0;
end