USP_DATAFORMTEMPLATE_ADD_RECURRINGGIFTINSTALLMENTWRITEOFF_PRELOAD
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@INSTALLMENTCONTEXT | nvarchar(53) | IN | |
@INSTALLMENTDATE | datetime | INOUT | |
@INSTALLMENTNUMBER | int | INOUT | |
@INSTALLMENTAMOUNT | money | INOUT | |
@INSTALLMENTBALANCE | money | INOUT | |
@WRITEOFFDATE | datetime | INOUT | |
@WRITEOFFAMOUNT | money | INOUT | |
@REVENUEID | uniqueidentifier | INOUT | |
@TRANSACTIONCURRENCYID | uniqueidentifier | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_RECURRINGGIFTINSTALLMENTWRITEOFF_PRELOAD
(
@INSTALLMENTCONTEXT nvarchar(53),
@INSTALLMENTDATE datetime = null output,
@INSTALLMENTNUMBER integer = null output,
@INSTALLMENTAMOUNT money = null output,
@INSTALLMENTBALANCE money = null output,
@WRITEOFFDATE datetime = null output,
@WRITEOFFAMOUNT money = null output,
@REVENUEID uniqueidentifier = null output,
@TRANSACTIONCURRENCYID uniqueidentifier = null output
)
as
set nocount on;
declare @CURRENTDATE datetime = getdate();
declare @RECORDTYPE nvarchar(1) = substring(@INSTALLMENTCONTEXT,1,1);
if @RECORDTYPE = 'I'
begin
declare @INSTALLMENTID uniqueidentifier = cast(substring(@INSTALLMENTCONTEXT,3,36) as uniqueidentifier);
set @INSTALLMENTNUMBER = cast(substring(@INSTALLMENTCONTEXT,40,5) as integer);
select @INSTALLMENTAMOUNT = TRANSACTIONAMOUNT,
@INSTALLMENTBALANCE = dbo.UFN_RECURRINGGIFTINSTALLMENT_GETINSTALLMENTBALANCE(ID),
@REVENUEID = REVENUEID,
@INSTALLMENTDATE = DATE,
@TRANSACTIONCURRENCYID = TRANSACTIONCURRENCYID
from dbo.RECURRINGGIFTINSTALLMENT
where ID = @INSTALLMENTID;
end
else
begin
set @REVENUEID = cast(substring(@INSTALLMENTCONTEXT,3,36) as uniqueidentifier);
set @INSTALLMENTDATE = convert(date,substring(@INSTALLMENTCONTEXT,40,8),112);
set @INSTALLMENTNUMBER = cast(substring(@INSTALLMENTCONTEXT,49,5) as integer);
select @INSTALLMENTAMOUNT = TRANSACTIONAMOUNT,
@INSTALLMENTBALANCE = TRANSACTIONAMOUNT,
@TRANSACTIONCURRENCYID = TRANSACTIONCURRENCYID
from dbo.FINANCIALTRANSACTION
where ID = @REVENUEID;
end
set @WRITEOFFAMOUNT = @INSTALLMENTBALANCE;
set @WRITEOFFDATE = @CURRENTDATE;
return 0;