USP_DATAFORMTEMPLATE_EDIT_MKTSOURCECODELAYOUTPART
The save procedure used by the edit dataform template "Source Code Layout Part 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. |
@MKTSOURCECODEPARTDEFINITION | uniqueidentifier | IN | Source code part |
@MKTSOURCECODEPARTDEFINITIONVALUES | xml | IN | Source code part values |
@LENGTH | tinyint | IN | Length |
@SEQUENCE | tinyint | IN | Sequence |
Definition
Copy
CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDIT_MKTSOURCECODELAYOUTPART]
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier,
@MKTSOURCECODEPARTDEFINITION uniqueidentifier,
@MKTSOURCECODEPARTDEFINITIONVALUES xml,
@LENGTH tinyint,
@SEQUENCE tinyint
)
as
set nocount on;
declare @CURRENTDATE datetime;
declare @SELECTEDITEMS table
(
[ID] uniqueidentifier,
[MKTSOURCECODEPARTDEFINITIONVALUESID] uniqueidentifier
);
begin try
if @CHANGEAGENTID is null
exec dbo.[USP_CHANGEAGENT_GETORCREATECHANGEAGENT] @CHANGEAGENTID output;
set @CURRENTDATE = getdate();
update dbo.[MKTSOURCECODEITEM] set
[LENGTH] = @LENGTH,
[SEQUENCE] = @SEQUENCE,
[MKTSOURCECODEPARTDEFINITIONID] = @MKTSOURCECODEPARTDEFINITION,
[CHANGEDBYID] = @CHANGEAGENTID,
[DATECHANGED] = @CURRENTDATE
where [ID] = @ID;
-- 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_UPDATEFROMXML] @ID, @MKTSOURCECODEPARTDEFINITIONVALUES, @CHANGEAGENTID, @CURRENTDATE;
end try
begin catch
exec dbo.[USP_RAISE_ERROR]
return 1;
end catch
return 0;