USP_DATAFORMTEMPLATE_VIEW_PAYMENTPLEDGE

The load procedure used by the view dataform template "Payment: Pledge 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(20) INOUT Type
@CONSTITUENTNAME nvarchar(700) INOUT Constituent
@DESCRIPTION nvarchar(700) INOUT Description
@PLEDGEDATE datetime INOUT Date
@NEXTINSTALLMENTDATE datetime INOUT Amount due
@NEXTINSTALLMENTDUE money INOUT Next installment amount
@AMOUNT money INOUT Pledge amount
@BALANCE money INOUT Pledge balance
@MAXAMOUNT money INOUT MAXAMOUNT
@DESIGNATIONS nvarchar(3000) INOUT Designations
@ANONYMOUS bit INOUT ANONYMOUS
@TRANSACTIONCURRENCYID uniqueidentifier INOUT Transaction currency ID
@REMAININGINSTALLMENTS tinyint INOUT Remaining installments

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_PAYMENTPLEDGE
                (
                    @ID uniqueidentifier,    
                    @DATALOADED bit = 0 output,
                    @TRANSACTIONTYPE nvarchar(20) = null output,
                    @CONSTITUENTNAME nvarchar(700) = null output,
                    @DESCRIPTION nvarchar(700) = null output,
                    @PLEDGEDATE datetime = null output,
                    @NEXTINSTALLMENTDATE datetime = null output,
                    @NEXTINSTALLMENTDUE money = null output,
                    @AMOUNT money = null output,
                    @BALANCE money = null output,
                    @MAXAMOUNT money = null output,
                    @DESIGNATIONS nvarchar(3000) = null output,
                    @ANONYMOUS bit = null output,
                    @TRANSACTIONCURRENCYID uniqueidentifier = null output,
                    @REMAININGINSTALLMENTS tinyint = null output
                )
                as
                set nocount on;

                set @DATALOADED = 0;

                select
                    @DATALOADED = 1,
                    @TRANSACTIONTYPE = REVENUE.TRANSACTIONTYPE,
                    @CONSTITUENTNAME = NF.NAME,
                    @PLEDGEDATE = REVENUE.DATE,
                    @NEXTINSTALLMENTDATE = NEXTINSTALLMENT.DATE,
                    @NEXTINSTALLMENTDUE = dbo.UFN_INSTALLMENT_GETINSTALLMENTBALANCE(NEXTINSTALLMENT.ID),
                    @AMOUNT = REVENUE.TRANSACTIONAMOUNT,
                    @BALANCE = dbo.UFN_PLEDGE_GETBALANCE(REVENUE.ID),
                    @DESIGNATIONS = dbo.UFN_REVENUE_DESIGNATIONLIST(REVENUE.ID),
                    @ANONYMOUS = REVENUE.GIVENANONYMOUSLY,
                    @TRANSACTIONCURRENCYID = REVENUE.TRANSACTIONCURRENCYID
                from dbo.REVENUE
                    cross apply dbo.UFN_CONSTITUENT_DISPLAYNAME(REVENUE.CONSTITUENTID) NF
                    left join dbo.INSTALLMENT NEXTINSTALLMENT on NEXTINSTALLMENT.ID = dbo.UFN_REVENUE_GETNEXTINSTALLMENT(REVENUE.ID)
                where REVENUE.ID = @ID;

                if @DATALOADED = 1
                begin
                    set @DESCRIPTION = @CONSTITUENTNAME;

                    select @REMAININGINSTALLMENTS = coalesce((select count(*) from dbo.INSTALLMENT 
                                                              where REVENUEID = @ID and dbo.UFN_INSTALLMENT_GETINSTALLMENTBALANCE(INSTALLMENT.ID) <> 0), 0);
                end


                return 0;