USP_DATAFORMTEMPLATE_EDITLOAD_MATCHINGGIFTPAYMENT

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@DATALOADED bit INOUT
@TSLONG bigint INOUT
@CONSTITUENTID uniqueidentifier INOUT
@CONSTITUENTNAME nvarchar(255) INOUT
@AMOUNT money INOUT
@TRANSACTIONCURRENCYID uniqueidentifier INOUT
@PAYMENTDATE date INOUT
@BASECURRENCYID uniqueidentifier INOUT
@BASEEXCHANGERATEID uniqueidentifier INOUT
@REVENUESTREAMS xml INOUT
@REMOVEDREVENUESTREAMS xml INOUT
@MATCHINGGIFTCLAIMSPLITS xml INOUT

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_MATCHINGGIFTPAYMENT
                (
                    @ID uniqueidentifier,
                    @DATALOADED bit = 0 output,
                    @TSLONG bigint = 0 output,
                    @CONSTITUENTID uniqueidentifier = null output,
                    @CONSTITUENTNAME nvarchar(255) = null output,
                    @AMOUNT money = null output,
                    @TRANSACTIONCURRENCYID uniqueidentifier = null output,
                    @PAYMENTDATE date = null output,
                    @BASECURRENCYID uniqueidentifier = null output,
                    @BASEEXCHANGERATEID uniqueidentifier = null output,
                    @REVENUESTREAMS xml = null output,
                    @REMOVEDREVENUESTREAMS xml = null output,
                    @MATCHINGGIFTCLAIMSPLITS xml = null output
                )
                as 
                    set nocount on;

                    set @DATALOADED = 0;

                    select
                        @DATALOADED = 1,
                        @AMOUNT = sum(FINANCIALTRANSACTIONLINEITEM.TRANSACTIONAMOUNT)
                    from
                        dbo.FINANCIALTRANSACTION
                        inner join dbo.FINANCIALTRANSACTIONLINEITEM on FINANCIALTRANSACTION.ID = FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID
                        inner join dbo.REVENUESPLIT_EXT on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
                        --Get only applications paying a matching gift claim by inner joining to dbo.INSTALLMENTSPLITPAYMENT.

                        -- Unapplied matching gift payments would not have an installment split payment row because there is

                        -- no commitment being paid.

                        inner join dbo.INSTALLMENTSPLITPAYMENT on REVENUESPLIT_EXT.ID = INSTALLMENTSPLITPAYMENT.PAYMENTID
                    where
                        FINANCIALTRANSACTION.ID = @ID
                        and FINANCIALTRANSACTION.TYPECODE = 0 --Payment

                        and REVENUESPLIT_EXT.TYPECODE = 0 --Gift

                        and REVENUESPLIT_EXT.APPLICATIONCODE = 7; --Matching gift


                    if @DATALOADED = 1
                        select
                            @TSLONG = FINANCIALTRANSACTION.TSLONG,
                            @CONSTITUENTID = FINANCIALTRANSACTION.CONSTITUENTID,
                            @CONSTITUENTNAME = NF.NAME,
                            @TRANSACTIONCURRENCYID = FINANCIALTRANSACTION.TRANSACTIONCURRENCYID,
                            @PAYMENTDATE = FINANCIALTRANSACTION.DATE,
                            @BASECURRENCYID = CURRENCYSET.BASECURRENCYID,
                            @BASEEXCHANGERATEID = FINANCIALTRANSACTION.BASEEXCHANGERATEID
                        from
                            dbo.FINANCIALTRANSACTION
                            inner join dbo.PDACCOUNTSYSTEM on FINANCIALTRANSACTION.PDACCOUNTSYSTEMID = PDACCOUNTSYSTEM.ID
                            inner join dbo.CURRENCYSET on PDACCOUNTSYSTEM.CURRENCYSETID = CURRENCYSET.ID
                            outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(FINANCIALTRANSACTION.CONSTITUENTID) as NF
                        where
                            FINANCIALTRANSACTION.ID = @ID;

                    return 0;