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;