USP_DATAFORMTEMPLATE_ADD_DESIGNATIONLEVELFINANCIALINFORMATIONBATCHCOMMIT
The save procedure used by the add dataform template "Fundraising Purpose Financial Information Batch Row Commit Add Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@DESIGNATIONLEVELID | uniqueidentifier | IN | Purpose |
@STARTDATE | datetime | IN | Start date |
@ENDDATE | datetime | IN | End date |
@BOOKVALUESTART | money | IN | Book value start |
@BOOKVALUEEND | money | IN | Book value end |
@MARKETVALUESTART | money | IN | Market value start |
@MARKETVALUEEND | money | IN | Market value end |
@TOTALGIFTREVENUE | money | IN | Total gift revenue |
@TOTALDISBURSEMENTS | money | IN | Total disbursements |
@PLEDGEBALANCE | money | IN | Pledge balance |
@VALIDATEONLY | bit | IN | Validate only |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_DESIGNATIONLEVELFINANCIALINFORMATIONBATCHCOMMIT
(
@ID uniqueidentifier output,
@CHANGEAGENTID uniqueidentifier,
@DESIGNATIONLEVELID uniqueidentifier = null,
@STARTDATE datetime = null,
@ENDDATE datetime = null,
@BOOKVALUESTART money = 0,
@BOOKVALUEEND money = 0,
@MARKETVALUESTART money = 0,
@MARKETVALUEEND money = 0,
@TOTALGIFTREVENUE money = 0,
@TOTALDISBURSEMENTS money = 0,
@PLEDGEBALANCE money = 0,
@VALIDATEONLY bit = 0
)
as
set nocount on;
declare @CHANGEDATE datetime;
set @CHANGEDATE = getdate();
if @ID is null
set @ID = newid();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
begin try
declare @BASECURRENCYID uniqueidentifier;
declare @CURRENCYEXCHANGERATEID uniqueidentifier;
declare @ORGANIZATIONBOOKVALUESTART money;
declare @ORGANIZATIONBOOKVALUEEND money;
declare @ORGANIZATIONMARKETVALUESTART money;
declare @ORGANIZATIONMARKETVALUEEND money;
declare @ORGANIZATIONTOTALGIFTREVENUE money;
declare @ORGANIZATIONPLEDGEBALANCE money;
declare @ORGANIZATIONTOTALDISBURSEMENTS money;
declare @ORGANIZATIONCURRENCYID uniqueidentifier;
declare @DATEADDED datetime;
set @ORGANIZATIONCURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
select
@BASECURRENCYID = BATCHDESIGNATIONLEVELFINANCIALINFO.BASECURRENCYID,
@DATEADDED = BATCHDESIGNATIONLEVELFINANCIALINFO.DATEADDED
from
dbo.BATCHDESIGNATIONLEVELFINANCIALINFO
where
BATCHDESIGNATIONLEVELFINANCIALINFO.ID = @ID
if @BASECURRENCYID is null
select @BASECURRENCYID = DESIGNATIONLEVEL.BASECURRENCYID from dbo.DESIGNATIONLEVEL where DESIGNATIONLEVEL.ID = @DESIGNATIONLEVELID
if (@ORGANIZATIONCURRENCYID = @BASECURRENCYID)
begin
select @ORGANIZATIONBOOKVALUESTART = @BOOKVALUESTART,
@ORGANIZATIONBOOKVALUEEND = @BOOKVALUEEND,
@ORGANIZATIONMARKETVALUESTART = @MARKETVALUESTART,
@ORGANIZATIONMARKETVALUEEND = @MARKETVALUEEND,
@ORGANIZATIONTOTALGIFTREVENUE = @TOTALGIFTREVENUE,
@ORGANIZATIONPLEDGEBALANCE = @PLEDGEBALANCE,
@ORGANIZATIONTOTALDISBURSEMENTS = @TOTALDISBURSEMENTS
end
else
begin
set @CURRENCYEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATEST(@BASECURRENCYID, @ORGANIZATIONCURRENCYID, @DATEADDED, 0, null);
select @ORGANIZATIONBOOKVALUESTART = dbo.UFN_CURRENCY_CONVERT(@BOOKVALUESTART, @CURRENCYEXCHANGERATEID),
@ORGANIZATIONBOOKVALUEEND = dbo.UFN_CURRENCY_CONVERT(@BOOKVALUEEND, @CURRENCYEXCHANGERATEID),
@ORGANIZATIONMARKETVALUESTART = dbo.UFN_CURRENCY_CONVERT(@MARKETVALUESTART, @CURRENCYEXCHANGERATEID),
@ORGANIZATIONMARKETVALUEEND = dbo.UFN_CURRENCY_CONVERT(@MARKETVALUEEND, @CURRENCYEXCHANGERATEID),
@ORGANIZATIONTOTALGIFTREVENUE = dbo.UFN_CURRENCY_CONVERT(@TOTALGIFTREVENUE, @CURRENCYEXCHANGERATEID),
@ORGANIZATIONPLEDGEBALANCE = dbo.UFN_CURRENCY_CONVERT(@PLEDGEBALANCE, @CURRENCYEXCHANGERATEID),
@ORGANIZATIONTOTALDISBURSEMENTS = dbo.UFN_CURRENCY_CONVERT(@TOTALDISBURSEMENTS, @CURRENCYEXCHANGERATEID)
end
insert into dbo.DESIGNATIONLEVELFINANCIALINFO(ID, DESIGNATIONLEVELID, STARTDATE, ENDDATE, BOOKVALUESTART,ORGANIZATIONBOOKVALUESTART,BOOKVALUEEND,ORGANIZATIONBOOKVALUEEND,MARKETVALUESTART,ORGANIZATIONMARKETVALUESTART,MARKETVALUEEND,ORGANIZATIONMARKETVALUEEND,TOTALGIFTREVENUE,ORGANIZATIONTOTALGIFTREVENUE,PLEDGEBALANCE,ORGANIZATIONPLEDGEBALANCE,TOTALDISBURSEMENTS,ORGANIZATIONTOTALDISBURSEMENTS,ORGANIZATIONEXCHANGERATEID,BASECURRENCYID,ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values(@ID, @DESIGNATIONLEVELID, @STARTDATE, @ENDDATE, @BOOKVALUESTART,@ORGANIZATIONBOOKVALUESTART,@BOOKVALUEEND,@ORGANIZATIONBOOKVALUEEND,@MARKETVALUESTART,@ORGANIZATIONMARKETVALUESTART,@MARKETVALUEEND,@ORGANIZATIONMARKETVALUEEND,@TOTALGIFTREVENUE,@ORGANIZATIONTOTALGIFTREVENUE,@PLEDGEBALANCE,@ORGANIZATIONPLEDGEBALANCE,@TOTALDISBURSEMENTS,@ORGANIZATIONTOTALDISBURSEMENTS,@CURRENCYEXCHANGERATEID,@BASECURRENCYID,@CHANGEAGENTID, @CHANGEAGENTID, @CHANGEDATE, @CHANGEDATE)
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;