USP_DATAFORMTEMPLATE_PRELOAD_ADD_REVENUETRIBUTE

The load procedure used by the edit dataform template "Revenue Tribute Add Form"

Parameters

Parameter Parameter Type Mode Description
@REVENUEID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@AMOUNT money INOUT Amount
@SPLITS xml INOUT Designations
@ISREVENUEPOSTED bit INOUT ISREVENUEPOSTED
@REVENUEDESIGNATIONID uniqueidentifier INOUT REVENUEDESIGNATIONID
@ALLOWDEFAULT bit INOUT ALLOWDEFAULT
@BASECURRENCYID uniqueidentifier INOUT Currency
@ISFRIENDSASKINGFRIENDS bit INOUT

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_PRELOAD_ADD_REVENUETRIBUTE
                    (
                        @REVENUEID uniqueidentifier,
                        @AMOUNT money = null output,
                        @SPLITS xml = null output,
                        @ISREVENUEPOSTED bit = null output,
                        @REVENUEDESIGNATIONID uniqueidentifier = null output,
                        @ALLOWDEFAULT bit = null output,
                        @BASECURRENCYID uniqueidentifier = null output,
                        @ISFRIENDSASKINGFRIENDS bit = null output 
                    )
                    as
                        set nocount on;

                        declare @SUMOTHERTRIBUTEAMOUNT money;
                        declare @TRANSACTIONTYPECODE int;

                        select @SUMOTHERTRIBUTEAMOUNT = coalesce(sum(AMOUNT),0) from dbo.REVENUETRIBUTE where REVENUEID = @REVENUEID;
                        set @ALLOWDEFAULT = 0;

                        select 
                            @AMOUNT = (R.AMOUNT - @SUMOTHERTRIBUTEAMOUNT),
                            @TRANSACTIONTYPECODE = R.TRANSACTIONTYPECODE,
                            @BASECURRENCYID = R.BASECURRENCYID,
                            @ISFRIENDSASKINGFRIENDS = dbo.UFN_IS_FRIENDS_ASKING_FRIENDS_EVENT(EVENT.ID)
                        from 
                            dbo.REVENUE R
                            left join dbo.EVENT on R.APPEALID = EVENT.APPEALID
                        where
                            R.ID = @REVENUEID;

                        set @SPLITS = dbo.UFN_REVENUE_GETSPLITS_2_TOITEMLISTXML(@REVENUEID);

                        if exists (select ID from dbo.REVENUEPOSTED where ID = @REVENUEID)
                            set @ISREVENUEPOSTED = 1;
                        else
                            set @ISREVENUEPOSTED = 0;

                        if @TRANSACTIONTYPECODE <> 0
                            if not exists(select top 1 INSTALLMENTSPLITPAYMENT.ID 
                                from INSTALLMENTSPLITPAYMENT 
                                where PLEDGEID = @REVENUEID
                                union all
                                select top 1 INSTALLMENTSPLITWRITEOFF.ID
                                from INSTALLMENTSPLITWRITEOFF
                                inner join dbo.INSTALLMENTSPLIT
                                    on INSTALLMENTSPLITWRITEOFF.INSTALLMENTSPLITID = INSTALLMENTSPLIT.ID
                                where PLEDGEID = @REVENUEID)
                                    set @ALLOWDEFAULT = 1;

                        if (select count(ID) from dbo.REVENUESPLIT where REVENUEID = @REVENUEID) = 1
                            select @REVENUEDESIGNATIONID = DESIGNATIONID from dbo.REVENUESPLIT where REVENUEID = @REVENUEID;

                        return 0;