USP_DATAFORMTEMPLATE_ADDLOAD_PLANNEDGIFTADDITIONREVENUE
The load procedure used by the edit dataform template "Planned Gift Addition Add As Revenue"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@PLANNEDGIFTADDITIONID | 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_PLANNEDGIFTADDITIONREVENUE
(
@PLANNEDGIFTADDITIONID 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;
select
@VEHICLECODE = PLANNEDGIFT.VEHICLECODE,
@AMOUNT = PLANNEDGIFTADDITION.TRANSACTIONGIFTAMOUNT,
@DATE = coalesce(PLANNEDGIFTADDITION.GIFTDATE, getdate()),
@TRANSACTIONCURRENCYID = PLANNEDGIFTADDITION.TRANSACTIONCURRENCYID,
@DONOTRECEIPT = PLANNEDGIFTADDITION.DONOTRECEIPT,
@DONOTRECEIPT_LOCKED =
case when PLANNEDGIFTADDITION.DONOTRECEIPT != 0
and (
PLANNEDGIFT.ISREVOCABLE != 0
or PLANNEDGIFT.TRUSTHELDOUTSIDE != 0
or dbo.UFN_PLANNEDGIFT_ISRECEIPTABLE(PLANNEDGIFT.VEHICLECODE) = 0
)
then 1
else 0
end,
@RECEIPTAMOUNT = PLANNEDGIFTADDITION.TRANSACTIONGIFTAMOUNT
from
dbo.PLANNEDGIFTADDITION
inner join
dbo.PLANNEDGIFT on PLANNEDGIFT.ID = PLANNEDGIFTADDITION.PLANNEDGIFTID
where
PLANNEDGIFTADDITION.ID = @PLANNEDGIFTADDITIONID;
if dbo.UFN_VALID_BASICGL_INSTALLED() != 0
begin
declare @NUMBEROFACCOUNTSYSTEMSFORUSER smallint = 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;