USP_DATAFORMTEMPLATE_ADD_MKTSEGMENTMEDIAOUTLET
The save procedure used by the add dataform template "Media Outlet 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. |
@QUERYVIEWCATALOGID | uniqueidentifier | IN | Record source |
@NAME | nvarchar(100) | IN | Name |
@DESCRIPTION | nvarchar(255) | IN | Description |
@SEGMENTCATEGORYCODEID | uniqueidentifier | IN | Category |
@CODE | nvarchar(10) | IN | Code |
@CODEVALUEID | uniqueidentifier | IN | Source code part definition value |
@VENDORID | uniqueidentifier | IN | Vendor |
@IMPRESSIONS | int | IN | Impressions |
@IMPRESSIONCALCULATIONMETHODCODE | tinyint | IN | per |
@GROUPS | xml | IN | Assign this segment to the groups marked below |
@SITEID | uniqueidentifier | IN | Site |
Definition
Copy
CREATE procedure dbo.[USP_DATAFORMTEMPLATE_ADD_MKTSEGMENTMEDIAOUTLET]
(
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier = null,
@QUERYVIEWCATALOGID uniqueidentifier = null,
@NAME nvarchar(100),
@DESCRIPTION nvarchar(255) = '',
@SEGMENTCATEGORYCODEID uniqueidentifier = null,
@CODE nvarchar(10) = '',
@CODEVALUEID uniqueidentifier = null,
@VENDORID uniqueidentifier = null,
@IMPRESSIONS integer = 0,
@IMPRESSIONCALCULATIONMETHODCODE tinyint = 0,
@GROUPS xml = null,
@SITEID uniqueidentifier = null
)
as
set nocount on;
declare @CURRENTDATE datetime;
begin try
if @ID is null set @ID = newid();
if @CHANGEAGENTID is null
exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
-- save the segment (segment type code 6 = media outlet)
exec dbo.[USP_DATAFORMTEMPLATE_ADD_MKTSEGMENT]
@ID,
@CHANGEAGENTID,
@QUERYVIEWCATALOGID,
@NAME,
@DESCRIPTION,
@CODE,
null,
null,
6,
@SEGMENTCATEGORYCODEID,
@CODEVALUEID,
@SITEID;
select
@CURRENTDATE = [DATECHANGED]
from dbo.[MKTSEGMENT]
where [ID] = @ID;
insert into dbo.[MKTSEGMENTPASSIVE]
(
[ID],
[VENDORID],
[IMPRESSIONS],
[IMPRESSIONCALCULATIONMETHODCODE],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@ID,
@VENDORID,
@IMPRESSIONS,
@IMPRESSIONCALCULATIONMETHODCODE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
insert into dbo.[MKTGROUPSEGMENTS]
(
[ID],
[SEGMENTID],
[SEGMENTGROUPID],
[SEQUENCE],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
select
newid(),
@ID,
T.c.value('(SEGMENTGROUPID)[1]', 'uniqueidentifier'),
(select isnull(max([SEQUENCE]) + 1, 0) from dbo.[MKTGROUPSEGMENTS] where [SEGMENTGROUPID] = T.c.value('(SEGMENTGROUPID)[1]', 'uniqueidentifier')),
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
from @GROUPS.nodes('/GROUPS/ITEM') T(c)
where T.c.value('(SEGMENTGROUPSELECTED)[1]', 'bit') = 1;
end try
begin catch
exec dbo.[USP_RAISE_ERROR];
return 1;
end catch
return 0;