USP_DATAFORMTEMPLATE_EDIT_MKTSEGMENT
The save procedure used by the edit dataform template "Constituent Segment 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 |
@CODE | nvarchar(10) | IN | Code |
@QUERYVIEWCATALOGID | uniqueidentifier | IN | Records source |
@SELECTIONS | xml | IN | Selections |
@GROUPS | xml | IN | Groups |
Definition
Copy
CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDIT_MKTSEGMENT]
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@NAME nvarchar(100),
@DESCRIPTION nvarchar(255),
@CODE nvarchar(10),
@QUERYVIEWCATALOGID uniqueidentifier,
@SELECTIONS xml,
@GROUPS xml
)
as
set nocount on;
declare @CURRENTDATE datetime;
declare @SEGMENTTYPECODE tinyint;
begin try
if @CHANGEAGENTID is null
exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
select
@SEGMENTTYPECODE = [SEGMENTTYPECODE],
@CURRENTDATE = getdate()
from dbo.[MKTSEGMENT]
where [ID] = @ID;
/* Save the segment */
update dbo.[MKTSEGMENT] set
[NAME] = @NAME,
[DESCRIPTION] = @DESCRIPTION,
[CODE] = @CODE,
[QUERYVIEWCATALOGID] = @QUERYVIEWCATALOGID,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
where [ID] = @ID;
/* Save all the new selections */
exec dbo.[USP_MKTSEGMENT_GETSELECTIONS_UPDATEFROMXML] @ID, null, @SELECTIONS, @CHANGEAGENTID, @CURRENTDATE;
/* Save all the groups */
exec dbo.[USP_MKTSEGMENT_GETGROUPS_UPDATEFROMXML] @ID, @GROUPS, @CHANGEAGENTID, @CURRENTDATE;
if @SEGMENTTYPECODE <> 2 and @QUERYVIEWCATALOGID is not null
/* Create the VIEW and add it to the IDSETREGISTER */
exec dbo.[USP_MKTSEGMENT_CREATEORUPDATEVIEW] @ID, @CHANGEAGENTID;
/* Update the segment with the selected code */
exec dbo.[USP_MKTSEGMENT_UPDATECODE] @ID, @CODE, @CHANGEAGENTID, 1;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;