USP_DATAFORMTEMPLATE_ADD_PLANNEDGIFTADDITIONREVENUE
The save procedure used by the add dataform template "Planned Gift Addition Add As Revenue".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@PLANNEDGIFTADDITIONID | uniqueidentifier | IN | Input parameter indicating the context ID for the record being added. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@AMOUNT | money | IN | Revenue amount |
@DATE | datetime | IN | Date |
@GENERATEGLDISTRIBUTIONS | bit | IN | Generate GL distributions |
@PDACCOUNTSYSTEMID | uniqueidentifier | IN | Account system |
@TRANSACTIONCURRENCYID | uniqueidentifier | IN | Transaction currency |
@BASEEXCHANGERATEID | uniqueidentifier | IN | Exchange rate ID |
@EXCHANGERATE | decimal(20, 8) | IN | Exchange rate |
@DONOTRECEIPT | bit | IN | Do not receipt |
@RECEIPTAMOUNT | money | IN | Receipt amount |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_PLANNEDGIFTADDITIONREVENUE
(
@ID uniqueidentifier output,
@PLANNEDGIFTADDITIONID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@AMOUNT money = null,
@DATE datetime = null,
@GENERATEGLDISTRIBUTIONS bit = 1,
@PDACCOUNTSYSTEMID uniqueidentifier = null,
@TRANSACTIONCURRENCYID uniqueidentifier = null,
@BASEEXCHANGERATEID uniqueidentifier = null,
@EXCHANGERATE decimal(20,8) = null,
@DONOTRECEIPT bit = null,
@RECEIPTAMOUNT money = null
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CURRENTDATE datetime = getdate();
if @PDACCOUNTSYSTEMID is null
set @PDACCOUNTSYSTEMID = '4B121C2C-CCE6-440D-894C-EA0DEF80D50B';
--Multicurrency - AdamBu 5/19/10 - Retrieve base currency from the account system's currency set.
declare @CURRENCYSETID uniqueidentifier;
declare @BASECURRENCYID uniqueidentifier;
select
@CURRENCYSETID = CURRENCYSETID
from
dbo.PDACCOUNTSYSTEM
where
ID = @PDACCOUNTSYSTEMID;
select
@BASECURRENCYID = BASECURRENCYID
from
dbo.CURRENCYSET
where
ID = coalesce(@CURRENCYSETID, dbo.UFN_CURRENCYSET_GETAPPUSERDEFAULTCURRENCYSET());
--Multicurrency - AdamBu 5/19/10 - If needed, create the spot exchange rate.
if @BASEEXCHANGERATEID = '00000000-0000-0000-0000-000000000001'
begin
set @BASEEXCHANGERATEID = newid();
insert into dbo.CURRENCYEXCHANGERATE
(
ID,
FROMCURRENCYID,
TOCURRENCYID,
RATE,
ASOFDATE,
TYPECODE,
SOURCECODEID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@BASEEXCHANGERATEID,
@TRANSACTIONCURRENCYID,
@BASECURRENCYID,
@EXCHANGERATE,
@DATE,
2,
null,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
begin try
if @ID is null
set @ID = newid();
declare @ISANONYMOUS bit;
declare @VEHICLECODE smallint;
--declare @PAYOUTAMOUNT money;
set @RECEIPTAMOUNT = coalesce(@RECEIPTAMOUNT, @AMOUNT); --For backwards compatibility with old behavior
select
@ISANONYMOUS = PLANNEDGIFT.ISANONYMOUS,
@VEHICLECODE = PLANNEDGIFT.VEHICLECODE
from
dbo.PLANNEDGIFTADDITION
inner join
dbo.PLANNEDGIFT on PLANNEDGIFT.ID = PLANNEDGIFTADDITION.PLANNEDGIFTID
where
PLANNEDGIFTADDITION.ID = @PLANNEDGIFTADDITIONID;
exec USP_ADDPLANNEDGIFTADDITIONREVENUE @PLANNEDGIFTADDITIONID, @AMOUNT, @DATE, @RECEIPTAMOUNT, @CHANGEAGENTID, @ISANONYMOUS, @ID,
@GENERATEGLDISTRIBUTIONS, @PDACCOUNTSYSTEMID, @TRANSACTIONCURRENCYID, @BASECURRENCYID, @BASEEXCHANGERATEID, @DONOTRECEIPT;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;