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