USP_DATAFORMTEMPLATE_ADD_MKTSOURCECODELAYOUTPART
The save procedure used by the add dataform template "Source Code Layout Part Add Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@SOURCECODEID | uniqueidentifier | IN | Input parameter indicating the context ID for the record being added. |
@MKTSOURCECODEPARTDEFINITION | uniqueidentifier | IN | Source code part |
@MKTSOURCECODEPARTDEFINITIONVALUES | xml | IN | Source code part values |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@LENGTH | tinyint | IN | Length |
@SEQUENCE | tinyint | IN | Sequence |
Definition
Copy
CREATE procedure dbo.[USP_DATAFORMTEMPLATE_ADD_MKTSOURCECODELAYOUTPART]
(
@ID uniqueidentifier = null output,
@SOURCECODEID uniqueidentifier,
@MKTSOURCECODEPARTDEFINITION uniqueidentifier = null,
@MKTSOURCECODEPARTDEFINITIONVALUES xml = null,
@CHANGEAGENTID uniqueidentifier = null,
@LENGTH tinyint = 0,
@SEQUENCE tinyint = 0
)
as
set nocount on;
declare @CURRENTDATE datetime;
declare @SELECTEDITEMS table
(
[ID] uniqueidentifier,
[MKTSOURCECODEPARTDEFINITIONVALUESID] uniqueidentifier
);
begin try
if @ID is null
set @ID = NewID();
if @CHANGEAGENTID is null
exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
set @CURRENTDATE = getdate();
select
@SEQUENCE = coalesce(max(sequence) + 1, 1)
from dbo.[MKTSOURCECODEITEM]
where [MKTSOURCECODEITEM].[SOURCECODEID] = @SOURCECODEID;
insert into dbo.[MKTSOURCECODEITEM]
(
[ID],
[SOURCECODEID],
[LENGTH],
[SEQUENCE],
[MKTSOURCECODEPARTDEFINITIONID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@ID,
@SOURCECODEID,
@LENGTH,
@SEQUENCE,
@MKTSOURCECODEPARTDEFINITION,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
-- insert only selected part values
insert into @SELECTEDITEMS
select
T.c.value('(ID)[1]','uniqueidentifier') AS 'ID',
T.c.value('(MKTSOURCECODEPARTDEFINITIONVALUESID)[1]','uniqueidentifier') AS 'MKTSOURCECODEPARTDEFINITIONVALUESID'
from @MKTSOURCECODEPARTDEFINITIONVALUES.nodes('/MKTSOURCECODEPARTDEFINITIONVALUES/ITEM') T(c)
where T.c.value('(VALUESELECTED)[1]','nvarchar(5)') = 'True';
set @MKTSOURCECODEPARTDEFINITIONVALUES = (
select
[ID],
[MKTSOURCECODEPARTDEFINITIONVALUESID]
from @SELECTEDITEMS
for xml raw('ITEM'),type,elements,root('MKTSOURCECODEPARTDEFINITIONVALUES'),BINARY BASE64);
if @MKTSOURCECODEPARTDEFINITIONVALUES is not null
exec dbo.[USP_MKTSOURCECODEVALIDPARTVALUES_GETITEMLIST_ADDFROMXML] @ID, @MKTSOURCECODEPARTDEFINITIONVALUES, @CHANGEAGENTID, @CURRENTDATE;
end try
begin catch
exec dbo.[USP_RAISE_ERROR]
return 1;
end catch
return 0;