USP_DATAFORMTEMPLATE_EDIT_MKTPACKAGE_PASSIVE
The save procedure used by the edit dataform template "Package Edit Form (Public Media)".
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 |
@CODE | nvarchar(10) | IN | Code |
@CATEGORYCODEID | uniqueidentifier | IN | Category |
@COST | money | IN | Base cost |
@COSTDISTRIBUTIONMETHODCODE | tinyint | IN | Distribution |
@SITEID | uniqueidentifier | IN | Site |
@CREATIVEID | uniqueidentifier | IN | Creative |
@CODEVALUEID | uniqueidentifier | IN | Code value ID |
@CHANNELSOURCECODE | nvarchar(10) | IN | Channel source code |
@CHANNELSOURCECODEVALUEID | uniqueidentifier | IN | Channel code value ID |
Definition
Copy
CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDIT_MKTPACKAGE_PASSIVE]
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@NAME nvarchar(100),
@DESCRIPTION nvarchar(255),
@CODE nvarchar(10),
@CATEGORYCODEID uniqueidentifier,
@COST money,
@COSTDISTRIBUTIONMETHODCODE tinyint,
@SITEID uniqueidentifier,
@CREATIVEID uniqueidentifier,
@CODEVALUEID uniqueidentifier,
@CHANNELSOURCECODE nvarchar(10),
@CHANNELSOURCECODEVALUEID uniqueidentifier
)
as
set nocount on;
declare @CURRENTSITEID uniqueidentifier;
declare @CURRENCYEXCHANGERATEID uniqueidentifier;
declare @ORGANIZATIONAMOUNT money;
declare @ORGANIZATIONCURRENCYID uniqueidentifier;
declare @BASECURRENCYID uniqueidentifier;
declare @DATEADDED datetime;
if exists (select top 1 1 from dbo.[MKTPACKAGE] where [ID] = @ID and [ISSYSTEM] = 1)
begin
raiserror('ERR_MKTPACKAGE_ISSYSTEMPACKAGE', 13, 1);
return 1;
end
begin try
if @CHANGEAGENTID is null
exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
select @BASECURRENCYID = [BASECURRENCYID], @DATEADDED = [DATEADDED], @CURRENCYEXCHANGERATEID = [CURRENCYEXCHANGERATEID] from dbo.[MKTPACKAGE] 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.[MKTPACKAGE] set
[NAME] = @NAME,
[DESCRIPTION] = @DESCRIPTION,
[CODE] = @CODE,
[PARTDEFINITIONVALUESID] = @CODEVALUEID,
[CHANNELSOURCECODE] = @CHANNELSOURCECODE,
[CHANNELPARTDEFINITIONVALUESID] = @CHANNELSOURCECODEVALUEID,
[PACKAGECATEGORYCODEID] = @CATEGORYCODEID,
[UNITCOST] = @COST,
[COSTDISTRIBUTIONMETHODCODE] = @COSTDISTRIBUTIONMETHODCODE,
[SITEID] = @SITEID,
[CREATIVEID] = @CREATIVEID,
[CHANGEDBYID] = @CHANGEAGENTID,
[CURRENCYEXCHANGERATEID] = @CURRENCYEXCHANGERATEID,
[ORGANIZATIONUNITCOST] = @ORGANIZATIONAMOUNT
where [ID] = @ID;
end try
begin catch
exec dbo.[USP_RAISE_ERROR];
return 1;
end catch
return 0;