USP_DATAFORMTEMPLATE_ADDLOAD_PLANNEDGIFTREVENUE

The load procedure used by the edit dataform template "Planned Gift Revenue Add As Revenue"

Parameters

Parameter Parameter Type Mode Description
@PLANNEDGIFTID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@AMOUNT money INOUT Revenue amount
@DATE datetime INOUT Date
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@PDACCOUNTSYSTEMID uniqueidentifier INOUT Account system
@SHOWACCOUNTSYSTEM bit INOUT Show account system
@TRANSACTIONCURRENCYID uniqueidentifier INOUT Transaction currency
@DONOTRECEIPT bit INOUT Do not receipt
@DONOTRECEIPT_LOCKED bit INOUT
@RECEIPTAMOUNT money INOUT Receipt amount

Definition

Copy

                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADDLOAD_PLANNEDGIFTREVENUE (
                        @PLANNEDGIFTID uniqueidentifier,
                        @AMOUNT money = null output,
                        @DATE datetime = null output,
                        @CURRENTAPPUSERID uniqueidentifier = null,
                        @PDACCOUNTSYSTEMID uniqueidentifier = null output,
                        @SHOWACCOUNTSYSTEM bit = null output,
                        @TRANSACTIONCURRENCYID uniqueidentifier = null output,
                        @DONOTRECEIPT bit = null output,
                        @DONOTRECEIPT_LOCKED bit = null output,
                        @RECEIPTAMOUNT money = null output
                    )
                    as
                        set nocount on;

                        declare @VEHICLECODE smallint;
                        declare @REMAINDERVALUE money;
                        declare @REMAINDERASOFDATE datetime;
                        declare @PAYOUTAMOUNT money;

                        select @VEHICLECODE = VEHICLECODE,
                            @AMOUNT = TRANSACTIONGIFTAMOUNT,
                            @DATE = coalesce(GIFTDATE,getdate()),
                            @REMAINDERVALUE = REMAINDERVALUE,
                            @REMAINDERASOFDATE = REMAINDERVALUEDATE,
                            @PAYOUTAMOUNT = PAYOUTAMOUNT,
                            @TRANSACTIONCURRENCYID = TRANSACTIONCURRENCYID,
                            @DONOTRECEIPT = PLANNEDGIFT.DONOTRECEIPT,
                            @DONOTRECEIPT_LOCKED =
                                case when PLANNEDGIFT.DONOTRECEIPT != 0
                                    and (
                                        ISREVOCABLE != 0
                                        or TRUSTHELDOUTSIDE != 0
                                        or dbo.UFN_PLANNEDGIFT_ISRECEIPTABLE(PLANNEDGIFT.VEHICLECODE) = 0
                                    )
                                    then 1
                                    else 0
                                end,
                            @RECEIPTAMOUNT = TRANSACTIONGIFTAMOUNT
                        from dbo.PLANNEDGIFT 
                        where ID = @PLANNEDGIFTID;

                        if (@VEHICLECODE = 3 or @VEHICLECODE = 4) and dbo.UFN_INSTALLEDPRODUCTS_PRODUCTIS('0E85C527-E6E9-4C5F-A8E8-105FD0E18FE7') = 0
                        begin
                            set @AMOUNT = @PAYOUTAMOUNT;
                            set @DATE = getdate();
                        end

                        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

                        return 0;