USP_DATAFORMTEMPLATE_PRELOAD_ADD_PLANNEDGIFTPAYMENT

Stored procedure used to load on the planned gift payment add form.

Parameters

Parameter Parameter Type Mode Description
@PLANNEDGIFTID uniqueidentifier IN
@HOUSEHOLDSCANBEDONORS bit INOUT
@APPLICATIONCODE tinyint INOUT
@CONSTITUENTID uniqueidentifier INOUT
@VIEWFORMID uniqueidentifier INOUT
@AMOUNT money INOUT
@DATE datetime INOUT
@GIFTINKINDUSEAPPRAISALTHRESHOLD bit INOUT
@GIFTINKINDAPPRAISALTHRESHOLD money INOUT
@CURRENTAPPUSERID uniqueidentifier IN
@PDACCOUNTSYSTEMID uniqueidentifier INOUT
@SHOWACCOUNTSYSTEM bit INOUT
@TRANSACTIONCURRENCYID uniqueidentifier INOUT
@RECOGNITIONAMOUNT money INOUT

Definition

Copy


            CREATE procedure dbo.USP_DATAFORMTEMPLATE_PRELOAD_ADD_PLANNEDGIFTPAYMENT
            (
                @PLANNEDGIFTID uniqueidentifier,
                @HOUSEHOLDSCANBEDONORS bit = null output,
                @APPLICATIONCODE tinyint = null output,
                @CONSTITUENTID uniqueidentifier = null output,
                @VIEWFORMID uniqueidentifier = null output,
                @AMOUNT money = null output,
                @DATE datetime = null output,
                @GIFTINKINDUSEAPPRAISALTHRESHOLD bit = null output,
                @GIFTINKINDAPPRAISALTHRESHOLD money = null output,
                @CURRENTAPPUSERID uniqueidentifier = null,
                @PDACCOUNTSYSTEMID uniqueidentifier = null output,
                @SHOWACCOUNTSYSTEM bit = null output,
                @TRANSACTIONCURRENCYID uniqueidentifier = null output,
                @RECOGNITIONAMOUNT money = null output
            )
            as
                set nocount on;

                set @HOUSEHOLDSCANBEDONORS = dbo.UFN_INSTALLATIONINFO_GETHOUSEHOLDSCANBEDONORS()
                set @APPLICATIONCODE = 0;
                set @DATE = dbo.UFN_DATE_GETLATESTTIME(getdate());
                set @VIEWFORMID = '77cee9d0-ebe4-4e5e-a3ed-2c16ac3c5679';

                -- Don't add the planned gift as revenue twice.

                declare @REVENUEEXISTS bit = 0;

                select
                    @REVENUEEXISTS = 1 
                from dbo.PLANNEDGIFTREVENUESPLIT where PLANNEDGIFTID = @PLANNEDGIFTID;

                if @REVENUEEXISTS = 1
                    raiserror('This planned gift has already been added as revenue.',13,1)

                select 
                    @CONSTITUENTID = PLANNEDGIFT.CONSTITUENTID,
                    @AMOUNT =    case when dbo.UFN_PLANNEDGIFT_DESIGNATIONAMOUNT(PLANNEDGIFT.ID)>0 then
                                    dbo.UFN_PLANNEDGIFT_DESIGNATIONTRANSACTIONAMOUNT(PLANNEDGIFT.ID)
                                else
                                    PLANNEDGIFT.TRANSACTIONEXPECTEDGIFTAMOUNT
                                end,
                    @TRANSACTIONCURRENCYID = PLANNEDGIFT.TRANSACTIONCURRENCYID,
                    @RECOGNITIONAMOUNT = PLANNEDGIFT.RECOGNITIONAMOUNT
                from dbo.PLANNEDGIFT
                where PLANNEDGIFT.ID = @PLANNEDGIFTID

                select top 1
                    @GIFTINKINDUSEAPPRAISALTHRESHOLD = USEAPPRAISALTHRESHOLD,
                    @GIFTINKINDAPPRAISALTHRESHOLD = APPRAISALTHRESHOLD            -- In organization currency

                from
                    dbo.GIFTINKINDAPPRAISALSETTINGS

                if dbo.UFN_VALID_BASICGL_INSTALLED() != 0
                    begin
                        declare    @NUMBEROFACCOUNTSYSTEMSFORUSER smallint 

                        set @NUMBEROFACCOUNTSYSTEMSFORUSER = dbo.UFN_PDACCOUNTSYSTEM_GETNUMBEROFSYSTEMSFORUSER(@CURRENTAPPUSERID)
                        if @NUMBEROFACCOUNTSYSTEMSFORUSER = 1
                            begin
                                set @SHOWACCOUNTSYSTEM = 0
                                select @PDACCOUNTSYSTEMID =  T1.ID from dbo.UFN_PDACCOUNTSYSTEM_GETSYSTEMIDSFORUSER(@CURRENTAPPUSERID) as T1

                                if not exists(
                                    select 1
                                    from dbo.CURRENCYSETTRANSACTIONCURRENCY
                                        inner join dbo.PDACCOUNTSYSTEM on PDACCOUNTSYSTEM.CURRENCYSETID = CURRENCYSETTRANSACTIONCURRENCY.CURRENCYSETID
                                    where PDACCOUNTSYSTEM.ID = @PDACCOUNTSYSTEMID
                                        and CURRENCYSETTRANSACTIONCURRENCY.CURRENCYID = @TRANSACTIONCURRENCYID
                                )
                                begin
                                    raiserror('Your account system does not support the transaction currency of this planned gift.  The gift cannot be added as revenue to this account system.',16,16)
                                end
                            end 
                        else
                            begin
                                set @SHOWACCOUNTSYSTEM = 1        
                                set @PDACCOUNTSYSTEMID = dbo.UFN_PDACCOUNTSYSTEM_GETDEFAULTSYSTEMIDSFORUSER(@CURRENTAPPUSERID)
                            end 
                    end
                else
                    begin
                        set @SHOWACCOUNTSYSTEM = 0
                        set @PDACCOUNTSYSTEMID = '4B121C2C-CCE6-440D-894C-EA0DEF80D50B'

                        if not exists(
                            select 1
                            from dbo.CURRENCYSETTRANSACTIONCURRENCY
                                inner join dbo.PDACCOUNTSYSTEM on PDACCOUNTSYSTEM.CURRENCYSETID = CURRENCYSETTRANSACTIONCURRENCY.CURRENCYSETID
                            where PDACCOUNTSYSTEM.ID = @PDACCOUNTSYSTEMID
                                and CURRENCYSETTRANSACTIONCURRENCY.CURRENCYID = @TRANSACTIONCURRENCYID
                        )
                        begin
                            raiserror('Your account system does not support the transaction currency of this planned gift.  The gift cannot be added as revenue to this account system.',16,16)
                        end
                    end