USP_DATAFORMTEMPLATE_EDITLOAD_REVENUE_RECOGNITION

The load procedure used by the edit dataform template "Revenue Recognition Credit Edit 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.
@AMOUNT money INOUT Amount
@RECOGNITIONS xml INOUT
@GIVENANONYMOUSLY bit INOUT Given anonymously
@CONSTITUENTID uniqueidentifier INOUT Constituent ID
@DATE datetime INOUT Date
@SOURCERECURRINGGIFTREVENUEID uniqueidentifier INOUT Source revenue ID
@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.
@BASECURRENCYID uniqueidentifier INOUT
@MGSOURCETRANSACTIONTYPECODE tinyint INOUT
@MGSOURCEREVENUEID uniqueidentifier INOUT

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_REVENUE_RECOGNITION 
                    (
                        @ID uniqueidentifier,
                        @DATALOADED bit = 0 output,
                        @AMOUNT money = null output,
                        @RECOGNITIONS xml = null output,
                        @GIVENANONYMOUSLY bit = null output,
                        @CONSTITUENTID uniqueidentifier = null output,
                        @DATE datetime = null output,
                        @SOURCERECURRINGGIFTREVENUEID uniqueidentifier = null output,
                        @TSLONG bigint = 0 output,
                        @BASECURRENCYID uniqueidentifier = null output,
            @MGSOURCETRANSACTIONTYPECODE tinyint = null output,
            @MGSOURCEREVENUEID uniqueidentifier = null output
                    )
                    as 
                        set nocount on;

                        set @DATALOADED = 0;
                        set @TSLONG = 0;                        

                        select 
                            @DATALOADED = 1,
                            @AMOUNT = FINANCIALTRANSACTIONLINEITEM.BASEAMOUNT,
                            @RECOGNITIONS = dbo.UFN_REVENUE_GETRECOGNITIONS_2_TOITEMLISTXML(@ID),
                            @GIVENANONYMOUSLY = REVENUE_EXT.GIVENANONYMOUSLY,
                            @CONSTITUENTID = FINANCIALTRANSACTION.CONSTITUENTID,
                            @DATE = FINANCIALTRANSACTION.DATE,
                            @SOURCERECURRINGGIFTREVENUEID = RGA.SOURCEREVENUEID,
                            @BASECURRENCYID = CURRENCYSET.BASECURRENCYID,
                            @MGSOURCETRANSACTIONTYPECODE = FT2.TYPECODE,
                            @MGSOURCEREVENUEID = ISP.PLEDGEID
                        from dbo.FINANCIALTRANSACTIONLINEITEM
                        inner join dbo.REVENUESPLIT_EXT on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
                        inner join dbo.FINANCIALTRANSACTION on FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
                        inner join dbo.REVENUE_EXT on FINANCIALTRANSACTION.ID = REVENUE_EXT.ID
                        inner join dbo.PDACCOUNTSYSTEM on FINANCIALTRANSACTION.PDACCOUNTSYSTEMID = PDACCOUNTSYSTEM.ID
                        inner join dbo.CURRENCYSET on PDACCOUNTSYSTEM.CURRENCYSETID = CURRENCYSET.ID
                        left join dbo.RECURRINGGIFTACTIVITY RGA on RGA.PAYMENTREVENUEID = FINANCIALTRANSACTIONLINEITEM.ID and FINANCIALTRANSACTION.TYPECODE = 0 and REVENUESPLIT_EXT.APPLICATIONCODE = 3
                        left join dbo.INSTALLMENTSPLITPAYMENT ISP on ISP.PAYMENTID = FINANCIALTRANSACTIONLINEITEM.ID and FINANCIALTRANSACTION.TYPECODE = 0 and REVENUESPLIT_EXT.APPLICATIONCODE = 7
                        left join dbo.FINANCIALTRANSACTION FT2 on ISP.PLEDGEID = FT2.ID
                        left join dbo.REVENUE_EXT R2 on FT2.ID = R2.ID
                        where 
                            FINANCIALTRANSACTIONLINEITEM.ID = @ID
                            and FINANCIALTRANSACTIONLINEITEM.DELETEDON is null
                            and FINANCIALTRANSACTIONLINEITEM.TYPECODE <> 1;

                        if @RECOGNITIONS is not null
                            select @TSLONG = max(TSLONG) from dbo.REVENUERECOGNITION where REVENUERECOGNITION.REVENUESPLITID = @ID;
                        else
                            set @TSLONG = 0;

                        return 0;