USP_DATAFORMTEMPLATE_EDITLOAD_RECURRINGGIFTWRITEOFF
The load procedure used by the edit dataform template "Recurring Gift Write-off Edit Data Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@TSLONG | bigint | INOUT | Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record. |
@PASTDUE | money | INOUT | Past due |
@INSTALLMENTS | xml | INOUT | |
@DATE | date | INOUT | Date |
@REASONID | uniqueidentifier | INOUT | Reason code |
@AMOUNT | money | INOUT | Amount |
@TRANSACTIONCURRENCYID | uniqueidentifier | INOUT | Transaction currency |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_RECURRINGGIFTWRITEOFF(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@PASTDUE money = null output,
@INSTALLMENTS xml = null output,
@DATE date = null output,
@REASONID uniqueidentifier = null output,
@AMOUNT money = null output,
@TRANSACTIONCURRENCYID uniqueidentifier = null output
)
as
set nocount on;
set @DATALOADED = 0
set @TSLONG = 0
select
@DATALOADED = 1,
@TSLONG = RECURRINGGIFTWRITEOFF.TSLONG,
@PASTDUE = dbo.UFN_RECURRINGGIFT_GETPASTDUEAMOUNT_2(REVENUE.ID,null,0),
@DATE = RECURRINGGIFTWRITEOFF.DATE,
@REASONID = RECURRINGGIFTWRITEOFF.REASONCODEID,
@TRANSACTIONCURRENCYID = REVENUE.TRANSACTIONCURRENCYID
from dbo.RECURRINGGIFTWRITEOFF
inner join dbo.REVENUE on REVENUE.ID = RECURRINGGIFTWRITEOFF.REVENUEID
where RECURRINGGIFTWRITEOFF.ID = @ID;
if @DATALOADED = 1
begin
set @INSTALLMENTS =
(
select
INSTALLMENTID,
DATE,
TRANSACTIONAMOUNT as AMOUNT,
BALANCE,
WRITEOFFAMOUNT,
INSTALLMENTWRITEOFFID,
TRANSACTIONCURRENCYID
from dbo.UFN_RECURRINGGIFTINSTALLMENT_GETWRITEOFFINSTALLMENTSFOREDIT(@ID) WRITEOFFINSTALLMENT
for xml raw('ITEM'),type,elements,root('INSTALLMENTS'),BINARY BASE64
);
select @AMOUNT = sum(TRANSACTIONAMOUNT)
from dbo.RECURRINGGIFTINSTALLMENTWRITEOFF
where WRITEOFFID = @ID;
end
return 0;