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;