USP_DATAFORMTEMPLATE_EDIT_MKTVENDORMATERIAL
The save procedure used by the edit dataform template "Marketing Vendor Marketing Material 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. |
@NAME | nvarchar(100) | IN | Name |
@DESCRIPTION | nvarchar(255) | IN | Description |
@SITEID | uniqueidentifier | IN | Site |
@MATERIALTYPECODEID | uniqueidentifier | IN | Type |
@COST | money | IN | Cost |
@COSTDISTRIBUTIONMETHODCODE | tinyint | IN | Distribution |
Definition
Copy
CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDIT_MKTVENDORMATERIAL]
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@NAME nvarchar(100),
@DESCRIPTION nvarchar(255),
@SITEID uniqueidentifier,
@MATERIALTYPECODEID uniqueidentifier,
@COST money,
@COSTDISTRIBUTIONMETHODCODE tinyint
)
as
set nocount on;
declare @CURRENTSITEID uniqueidentifier;
declare @CURRENCYEXCHANGERATEID uniqueidentifier;
declare @ORGANIZATIONAMOUNT money;
declare @ORGANIZATIONCURRENCYID uniqueidentifier;
declare @BASECURRENCYID uniqueidentifier;
declare @DATEADDED datetime;
begin try
if @CHANGEAGENTID is null exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
select @BASECURRENCYID = [BASECURRENCYID], @DATEADDED = [DATEADDED], @CURRENCYEXCHANGERATEID = [CURRENCYEXCHANGERATEID] from dbo.[MKTMATERIAL] where [ID] = @ID;
set @ORGANIZATIONCURRENCYID = dbo.[UFN_CURRENCY_GETORGANIZATIONCURRENCY]();
if (@ORGANIZATIONCURRENCYID = @BASECURRENCYID)
set @ORGANIZATIONAMOUNT = @COST;
else
begin
if @CURRENCYEXCHANGERATEID is null
set @CURRENCYEXCHANGERATEID = dbo.[UFN_CURRENCYEXCHANGERATE_GETLATEST](@BASECURRENCYID, @ORGANIZATIONCURRENCYID, @DATEADDED, 0, null);
set @ORGANIZATIONAMOUNT = dbo.[UFN_CURRENCY_CONVERT](@COST, @CURRENCYEXCHANGERATEID);
end
update dbo.[MKTMATERIAL] set
[NAME] = @NAME,
[DESCRIPTION] = @DESCRIPTION,
[SITEID] = @SITEID,
[MATERIALTYPECODEID] = @MATERIALTYPECODEID,
[COST] = @COST,
[COSTDISTRIBUTIONMETHODCODE] = @COSTDISTRIBUTIONMETHODCODE,
[CHANGEDBYID] = @CHANGEAGENTID,
[CURRENCYEXCHANGERATEID] = @CURRENCYEXCHANGERATEID,
[ORGANIZATIONCOST] = @ORGANIZATIONAMOUNT
where [ID] = @ID;
end try
begin catch
exec dbo.[USP_RAISE_ERROR];
return 1;
end catch
return 0;