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;