USP_DATAFORMTEMPLATE_VIEW_PAYMENTDONORCHALLENGE

The load procedure used by the view dataform template "Payment: Donor Challenge View 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.
@TRANSACTIONTYPE nvarchar(25) INOUT Type
@CONSTITUENTNAME nvarchar(700) INOUT Constituent
@DESCRIPTION nvarchar(500) INOUT Description
@PLEDGEDATE datetime INOUT Date
@AMOUNT money INOUT Amount
@BALANCE money INOUT Balance
@TOTALPAID money INOUT Total paid
@MAXAMOUNT money INOUT MAXAMOUNT
@APPLIEDNAME nvarchar(500) INOUT APPLIEDNAME
@APPLIEDAMOUNT money INOUT APPLIEDAMOUNT
@ANONYMOUS bit INOUT ANONYMOUS
@TRANSACTIONCURRENCYID uniqueidentifier INOUT Transaction currency ID

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_PAYMENTDONORCHALLENGE
                (
                    @ID uniqueidentifier,    
                    @DATALOADED bit = 0 output,
                    @TRANSACTIONTYPE nvarchar(25) = null output,
                    @CONSTITUENTNAME nvarchar(700) = null output,
                    @DESCRIPTION nvarchar(500) = null output,
                    @PLEDGEDATE datetime = null output,
                    @AMOUNT money = null output,
                    @BALANCE money = null output,
                    @TOTALPAID money = null output,
                    @MAXAMOUNT money = null output,
                    @APPLIEDNAME nvarchar(500) = null output,
                    @APPLIEDAMOUNT money = null output,
                    @ANONYMOUS bit = null output,
                    @TRANSACTIONCURRENCYID uniqueidentifier = null output
                )
                as
                set nocount on;

                set @DATALOADED = 0;

                select
                    @DATALOADED = 1,
                    @TRANSACTIONTYPE = REVENUE.TRANSACTIONTYPE,
                    @CONSTITUENTNAME = NF.NAME,
                    @PLEDGEDATE = REVENUE.DATE,
                    @AMOUNT = REVENUE.TRANSACTIONAMOUNT,
                    @BALANCE = dbo.UFN_PLEDGE_GETBALANCE(REVENUE.ID),
                    @TOTALPAID = dbo.UFN_PLEDGE_GETAMOUNTPAID(REVENUE.ID),
                    @ANONYMOUS = REVENUE.GIVENANONYMOUSLY,
                    @TRANSACTIONCURRENCYID = REVENUE.TRANSACTIONCURRENCYID
                from dbo.REVENUE
                    cross apply dbo.UFN_CONSTITUENT_DISPLAYNAME(REVENUE.CONSTITUENTID) NF
                where REVENUE.ID = @ID;

                declare @DONORCHALLENGEID uniqueidentifier;

                select 
                    @APPLIEDNAME = case 
                                    when DONORCHALLENGE.ID is not null then
                                        DONORCHALLENGE.NAME
                                    when DONORCHALLENGEENCUMBERED.DONORCHALLENGEID is not null then
                                        (select SUBDC.NAME from dbo.DONORCHALLENGE SUBDC where SUBDC.ID = DONORCHALLENGEENCUMBERED.DONORCHALLENGEID)
                                    end,
                    @APPLIEDAMOUNT  = REVENUE.TRANSACTIONAMOUNT
                from dbo.REVENUE
                    left join dbo.DONORCHALLENGE on DONORCHALLENGE.LUMPSUMMATCHREVENUEID = REVENUE.ID
                    left join dbo.DONORCHALLENGEENCUMBERED on DONORCHALLENGEENCUMBERED.MATCHEDREVENUEID = REVENUE.ID
                where
                    REVENUE.ID = @ID;

                set @DESCRIPTION = @CONSTITUENTNAME;

                return 0;