USP_DATAFORMTEMPLATE_ADD_EVENTEXPENSE
The save procedure used by the add dataform template "Event Expense 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. |
@EVENTID | uniqueidentifier | IN | Input parameter indicating the context ID for the record being added. |
@EVENTEXPENSETYPECODEID | uniqueidentifier | IN | Type |
@VENDORID | uniqueidentifier | IN | Vendor |
@ACTUALAMOUNT | money | IN | Agreed amount |
@COMMENT | nvarchar(250) | IN | Comment |
@BUDGETEDAMOUNT | money | IN | Budgeted amount |
@AMOUNTPAID | money | IN | Amount paid |
@DATEDUE | datetime | IN | Date due |
@DATEPAID | datetime | IN | Date paid |
@SELECTEDEVENTID | uniqueidentifier | IN | Event |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_EVENTEXPENSE
(
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier = null,
@EVENTID uniqueidentifier,
@EVENTEXPENSETYPECODEID uniqueidentifier,
@VENDORID uniqueidentifier = null,
@ACTUALAMOUNT money = 0,
@COMMENT nvarchar(250) = '',
@BUDGETEDAMOUNT money = 0,
@AMOUNTPAID money = 0,
@DATEDUE datetime = null,
@DATEPAID datetime = null,
@SELECTEDEVENTID uniqueidentifier = null,
@CURRENTAPPUSERID uniqueidentifier = null
)
as
set nocount on;
declare @CURRENTDATE datetime;
begin try
if @ID is null
set @ID = newid();
if (@SELECTEDEVENTID is not null) and (@SELECTEDEVENTID <> '00000000-0000-0000-0000-000000000000')
set @EVENTID = @SELECTEDEVENTID
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
set @CURRENTDATE = getdate();
declare @BASECURRENCYID uniqueidentifier;
declare @ORGANIZATIONEXCHANGERATEID uniqueidentifier;
declare @ORGANIZATIONCURRENCYID uniqueidentifier;
declare @ORGANIZATIONACTUALAMOUNT money;
declare @ORGANIZATIONAMOUNTPAID money;
declare @ORGANIZATIONBUDGETEDAMOUNT money;
select
@BASECURRENCYID = EVENT.BASECURRENCYID
from dbo.EVENT
where EVENT.ID = @EVENTID;
if @BASECURRENCYID is null
set @BASECURRENCYID = dbo.UFN_APPUSER_GETBASECURRENCY(@CURRENTAPPUSERID);
set @ORGANIZATIONCURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
if @ORGANIZATIONCURRENCYID = @BASECURRENCYID
begin
set @ORGANIZATIONACTUALAMOUNT = @ACTUALAMOUNT;
set @ORGANIZATIONAMOUNTPAID = @AMOUNTPAID;
set @ORGANIZATIONBUDGETEDAMOUNT = @BUDGETEDAMOUNT;
end
else
begin
set @ORGANIZATIONEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATEST(@BASECURRENCYID, @ORGANIZATIONCURRENCYID, @CURRENTDATE, 0, null);
set @ORGANIZATIONACTUALAMOUNT = dbo.UFN_CURRENCY_CONVERT(@ACTUALAMOUNT, @ORGANIZATIONEXCHANGERATEID);
set @ORGANIZATIONAMOUNTPAID = dbo.UFN_CURRENCY_CONVERT(@AMOUNTPAID, @ORGANIZATIONEXCHANGERATEID);
set @ORGANIZATIONBUDGETEDAMOUNT = dbo.UFN_CURRENCY_CONVERT(@BUDGETEDAMOUNT, @ORGANIZATIONEXCHANGERATEID);
end
insert into dbo.EVENTEXPENSE
(ID, EVENTEXPENSETYPECODEID, ACTUALAMOUNT, ORGANIZATIONACTUALAMOUNT, COMMENT, EVENTID, BUDGETEDAMOUNT, ORGANIZATIONBUDGETEDAMOUNT, AMOUNTPAID, ORGANIZATIONAMOUNTPAID, DATEDUE, DATEPAID, VENDORID, BASECURRENCYID, ORGANIZATIONEXCHANGERATEID, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
values
(@ID, @EVENTEXPENSETYPECODEID, @ACTUALAMOUNT, @ORGANIZATIONACTUALAMOUNT, @COMMENT, @EVENTID, @BUDGETEDAMOUNT, @ORGANIZATIONBUDGETEDAMOUNT, @AMOUNTPAID, @ORGANIZATIONAMOUNTPAID, @DATEDUE, @DATEPAID, @VENDORID, @BASECURRENCYID, @ORGANIZATIONEXCHANGERATEID, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;