USP_DATAFORMTEMPLATE_EDIT_EVENTEXPENSE
The save procedure used by the edit dataform template "Event Expense Edit Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter indicating the ID of the record being edited. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@EVENTEXPENSETYPECODEID | uniqueidentifier | IN | Type |
@VENDORID | uniqueidentifier | IN | Vendor |
@BUDGETEDAMOUNT | money | IN | Budgeted amount |
@ACTUALAMOUNT | money | IN | Agreed amount |
@AMOUNTPAID | money | IN | Amount paid |
@COMMENT | nvarchar(250) | IN | Comment |
@DATEDUE | datetime | IN | Date due |
@DATEPAID | datetime | IN | Date paid |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_EVENTEXPENSE
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@EVENTEXPENSETYPECODEID uniqueidentifier,
@VENDORID uniqueidentifier,
@BUDGETEDAMOUNT money,
@ACTUALAMOUNT money,
@AMOUNTPAID money,
@COMMENT nvarchar(250),
@DATEDUE datetime,
@DATEPAID datetime
)
as
set nocount on;
declare @CURRENTDATE datetime
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
set @CURRENTDATE = getdate()
begin try
declare @ORGANIZATIONCURRENCYID uniqueidentifier;
declare @ORGANIZATIONEXCHANGERATEID uniqueidentifier;
declare @BASECURRENCYID uniqueidentifier;
declare @DATEADDED datetime;
declare @ORGANIZATIONACTUALAMOUNT money;
declare @ORGANIZATIONAMOUNTPAID money;
declare @ORGANIZATIONBUDGETEDAMOUNT money;
set @ORGANIZATIONCURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
select
@BASECURRENCYID = EVENTEXPENSE.BASECURRENCYID,
@ORGANIZATIONEXCHANGERATEID = EVENTEXPENSE.ORGANIZATIONEXCHANGERATEID,
@DATEADDED = EVENTEXPENSE.DATEADDED
from dbo.EVENTEXPENSE where ID = @ID;
if @ORGANIZATIONCURRENCYID = @BASECURRENCYID
begin
set @ORGANIZATIONACTUALAMOUNT = @ACTUALAMOUNT;
set @ORGANIZATIONAMOUNTPAID = @AMOUNTPAID;
set @ORGANIZATIONBUDGETEDAMOUNT = @BUDGETEDAMOUNT;
end
else
begin
set @ORGANIZATIONEXCHANGERATEID = dbo.UFN_CURRENCYEXCHANGERATE_GETLATEST(@BASECURRENCYID, @ORGANIZATIONCURRENCYID, @DATEADDED, 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
update
dbo.EVENTEXPENSE
set
EVENTEXPENSETYPECODEID = @EVENTEXPENSETYPECODEID,
VENDORID = @VENDORID,
BUDGETEDAMOUNT = @BUDGETEDAMOUNT,
ORGANIZATIONBUDGETEDAMOUNT = @ORGANIZATIONBUDGETEDAMOUNT,
ACTUALAMOUNT = @ACTUALAMOUNT,
ORGANIZATIONACTUALAMOUNT = @ORGANIZATIONACTUALAMOUNT,
AMOUNTPAID = @AMOUNTPAID,
ORGANIZATIONAMOUNTPAID = @ORGANIZATIONAMOUNTPAID,
ORGANIZATIONEXCHANGERATEID = @ORGANIZATIONEXCHANGERATEID,
COMMENT = @COMMENT,
DATEDUE = @DATEDUE,
DATEPAID = @DATEPAID,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where
ID = @ID
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0