USP_DATAFORMTEMPLATE_EDITLOAD_REVENUEBENEFITS

The load procedure used by the edit dataform template "Revenue Benefits 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.
@BENEFITS xml INOUT
@BENEFITSWAIVED bit INOUT Benefits waived
@GIFTAMOUNT money INOUT Gift amount
@APPEALID uniqueidentifier INOUT Appeal
@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.
@PERCENTAGEBENEFITS xml INOUT Benefits
@REVENUETRANSACTIONCURRENCYID uniqueidentifier INOUT Revenue transaction currency ID
@REVENUETRANSACTIONCURRENCYDECIMALDIGITS tinyint INOUT Revenue transaction currency decimal digits
@REVENUETRANSACTIONCURRENCYROUNDINGTYPECODE tinyint INOUT Revenue transaction currency rounding type code
@EVENTREGISTRATIONS xml INOUT Event registrations
@REVENUEBASECURRENCYID uniqueidentifier INOUT Revenue base currency ID
@REVENUEBASECURRENCYDECIMALDIGITS tinyint INOUT Revenue base currency decimal digits
@REVENUEBASECURRENCYROUNDINGTYPECODE tinyint INOUT Revenue base currency rounding type code
@GIFTTRANSACTIONAMOUNT money INOUT Gift transaction amount
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@APPUSERBASECURRENCYID uniqueidentifier INOUT Current app user base currency ID
@ADJUSTMATCHINGGIFTCLAIMS tinyint INOUT
@HASGIFTFEES bit INOUT
@UPDATEGIFTFEEOPTION bit INOUT
@REVENUETRANSACTIONCODE tinyint INOUT
@GIFTFEESENABLED bit INOUT

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_REVENUEBENEFITS
                (
                    @ID uniqueidentifier,
                    @DATALOADED bit = 0 output,
                    @BENEFITS xml = null output,
                    @BENEFITSWAIVED bit = null output,
                    @GIFTAMOUNT money = null output,
                    @APPEALID uniqueidentifier = null output,
                    @TSLONG bigint = 0 output,
                    @PERCENTAGEBENEFITS xml = null output,
                    @REVENUETRANSACTIONCURRENCYID uniqueidentifier = null output,
                    @REVENUETRANSACTIONCURRENCYDECIMALDIGITS tinyint = null output,
                    @REVENUETRANSACTIONCURRENCYROUNDINGTYPECODE tinyint = null output,
                    @EVENTREGISTRATIONS xml = null output,
                    @REVENUEBASECURRENCYID uniqueidentifier = null output,
                    @REVENUEBASECURRENCYDECIMALDIGITS tinyint = null output,
                    @REVENUEBASECURRENCYROUNDINGTYPECODE tinyint = null output,
                    @GIFTTRANSACTIONAMOUNT money = null output,
                    @CURRENTAPPUSERID uniqueidentifier = null,
                    @APPUSERBASECURRENCYID uniqueidentifier = null output,
                    @ADJUSTMATCHINGGIFTCLAIMS tinyint = null output,
                    @HASGIFTFEES bit = null output,
                    @UPDATEGIFTFEEOPTION bit = null output,
                    @REVENUETRANSACTIONCODE tinyint = null output,
                    @GIFTFEESENABLED bit = null output
                )
                as
                    set nocount on;

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

                    select
                        @BENEFITSWAIVED = REVENUE_EXT.BENEFITSWAIVED,
                        @GIFTAMOUNT = FINANCIALTRANSACTION.BASEAMOUNT,
                        @GIFTTRANSACTIONAMOUNT = FINANCIALTRANSACTION.TRANSACTIONAMOUNT,
                        @APPEALID = REVENUE_EXT.APPEALID,
                        @DATALOADED=1,
                        @REVENUETRANSACTIONCURRENCYID = FINANCIALTRANSACTION.TRANSACTIONCURRENCYID,
                        @REVENUEBASECURRENCYID = isnull(REVENUE_EXT.NONPOSTABLEBASECURRENCYID, CURRENCYSET.BASECURRENCYID),
                        @REVENUETRANSACTIONCODE = FINANCIALTRANSACTION.TYPECODE
                    from
                        dbo.FINANCIALTRANSACTION
                    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
                    where
                        FINANCIALTRANSACTION.ID = @ID
                        and FINANCIALTRANSACTION.DELETEDON is null

                    select     
                        @REVENUETRANSACTIONCURRENCYDECIMALDIGITS = DECIMALDIGITS,
                        @REVENUETRANSACTIONCURRENCYROUNDINGTYPECODE = ROUNDINGTYPECODE
                    from 
                        dbo.CURRENCY
                    where 
                        ID = @REVENUETRANSACTIONCURRENCYID;

                    select     
                        @REVENUEBASECURRENCYDECIMALDIGITS = DECIMALDIGITS,
                        @REVENUEBASECURRENCYROUNDINGTYPECODE = ROUNDINGTYPECODE
                    from 
                        dbo.CURRENCY
                    where 
                        ID = @REVENUEBASECURRENCYID;

                    exec dbo.USP_REVENUE_GETBENEFITSSPLIT @ID, @BENEFITS output, @PERCENTAGEBENEFITS output;


                    select @TSLONG = coalesce(max(TSLONG), 0) from dbo.REVENUEBENEFIT where REVENUEID = @ID

                    select @EVENTREGISTRATIONS = (
                        select
                            EVENTREGISTRANTPAYMENT.REGISTRANTID as ID
                        from dbo.EVENTREGISTRANTPAYMENT
                        inner join dbo.FINANCIALTRANSACTIONLINEITEM on EVENTREGISTRANTPAYMENT.PAYMENTID = FINANCIALTRANSACTIONLINEITEM.ID
                        inner join dbo.REVENUESPLIT_EXT on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
                        where
                            FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = @ID and
                            FINANCIALTRANSACTIONLINEITEM.DELETEDON is null and
                            FINANCIALTRANSACTIONLINEITEM.TYPECODE <> 1 and
                            FINANCIALTRANSACTIONLINEITEM.ORGAMOUNT = (    select 
                                                                    sum(ORGANIZATIONAMOUNT)
                                                                from dbo.REGISTRANTREGISTRATION 
                                                                where 
                                                                    REGISTRANTREGISTRATION.REGISTRANTID = EVENTREGISTRANTPAYMENT.REGISTRANTID)
                        for xml raw('ITEM'),type,elements,root('EVENTREGISTRATIONS'),BINARY BASE64
                        );

                    set @APPUSERBASECURRENCYID = dbo.UFN_APPUSER_GETBASECURRENCY(@CURRENTAPPUSERID);

                    set @ADJUSTMATCHINGGIFTCLAIMS  = 3;

                    set @HASGIFTFEES = 0;
                    if (select top 1 1 from dbo.REVENUESPLITGIFTFEE GF inner join dbo.FINANCIALTRANSACTIONLINEITEM LI on LI.ID = GF.ID where LI.FINANCIALTRANSACTIONID = @ID) = 1
                        set @HASGIFTFEES = 1;

                    set @UPDATEGIFTFEEOPTION = 0;

                    set @GIFTFEESENABLED = 0
                    select @GIFTFEESENABLED = GIFTFEEOPTION.ENABLED from dbo.GIFTFEEOPTION;

                    return 0;