USP_DATAFORMTEMPLATE_EDIT_MKTMARKETINGPLANITEMEXPENSE
The save procedure used by the edit dataform template "Marketing Plan Item 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. |
@DESCRIPTION | nvarchar(max) | IN | Description |
@EXPENSECATEGORYCODEID | uniqueidentifier | IN | Category |
@EXPENSETYPECODE | tinyint | IN | Type |
@COUNT | int | IN | Count |
@AMOUNT | money | IN | Unit cost |
@BUDGETAMOUNT | money | IN | Budget amount |
Definition
Copy
CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDIT_MKTMARKETINGPLANITEMEXPENSE]
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@DESCRIPTION nvarchar(max),
@EXPENSECATEGORYCODEID uniqueidentifier,
@EXPENSETYPECODE tinyint,
@COUNT integer,
@AMOUNT money,
@BUDGETAMOUNT money
)
as
set nocount on;
declare @CURRENTDATE datetime;
declare @BASECURRENCYID uniqueidentifier;
declare @ORGANIZATIONCURRENCYID uniqueidentifier;
declare @CURRENCYEXCHANGERATEID uniqueidentifier;
declare @ORGANIZATIONAMOUNT money;
declare @ORGANIZATIONBUDGETAMOUNT money;
if @CHANGEAGENTID is null
exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
set @CURRENTDATE = getdate();
begin try
select @BASECURRENCYID = [BASECURRENCYID] from dbo.[MKTMARKETINGPLANITEMEXPENSE] where [ID] = @ID;
set @ORGANIZATIONCURRENCYID = dbo.[UFN_CURRENCY_GETORGANIZATIONCURRENCY]();
if @BASECURRENCYID = @ORGANIZATIONCURRENCYID
begin
set @CURRENCYEXCHANGERATEID = null;
set @ORGANIZATIONAMOUNT = @AMOUNT;
set @ORGANIZATIONBUDGETAMOUNT = @BUDGETAMOUNT;
end
else
begin
set @CURRENCYEXCHANGERATEID = dbo.[UFN_CURRENCYEXCHANGERATE_GETLATEST](@BASECURRENCYID, @ORGANIZATIONCURRENCYID, @CURRENTDATE, 0, null);
set @ORGANIZATIONAMOUNT = dbo.[UFN_CURRENCY_CONVERT](@AMOUNT, @CURRENCYEXCHANGERATEID);
set @ORGANIZATIONBUDGETAMOUNT = dbo.[UFN_CURRENCY_CONVERT](@BUDGETAMOUNT, @CURRENCYEXCHANGERATEID);
end
update dbo.[MKTMARKETINGPLANITEMEXPENSE] set
[DESCRIPTION] = @DESCRIPTION,
[EXPENSECATEGORYCODEID] = @EXPENSECATEGORYCODEID,
[EXPENSETYPECODE] = @EXPENSETYPECODE,
[COUNT] = @COUNT,
[CURRENCYEXCHANGERATEID] = @CURRENCYEXCHANGERATEID,
[AMOUNT] = @AMOUNT,
[ORGANIZATIONAMOUNT] = @ORGANIZATIONAMOUNT,
[BUDGETAMOUNT] = @BUDGETAMOUNT,
[ORGANIZATIONBUDGETAMOUNT] = @ORGANIZATIONBUDGETAMOUNT
where [ID] = @ID;
return 0;
end try
begin catch
exec dbo.[USP_RAISE_ERROR];
return 1;
end catch