USP_ACCOUNTSEQUENCE_UPDATEFROMXML

Updates account sequence from xml

Parameters

Parameter Parameter Type Mode Description
@XML xml IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.USP_ACCOUNTSEQUENCE_UPDATEFROMXML(
                @XML xml,
                @CHANGEAGENTID uniqueidentifier = null
            )
as
begin
    set nocount on;
    if @CHANGEAGENTID is null
        exec USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
    -- build a temporary table containing the values from the XML

                declare @TempTbl table (
                   [ID] uniqueidentifier,
                   [DESCRIPTION] nvarchar(100),
                   [LENGTH] tinyint,
                   [SEGMENTSEQUENCE] tinyint
                  )


                  insert into @TempTbl select 
                  [ID] ,
                   [DESCRIPTION] ,
                   [LENGTH],
                   [SEGMENTSEQUENCE]
                   from 
                   UFN_ACCOUNTSEQUENCE_FROMITEMLISTXML(@XML)
    update [PDACCOUNTSTRUCTURE] 
                   set
                    PDACCOUNTSTRUCTURE.SEGMENTSEQUENCE = tmp.SEGMENTSEQUENCE,
                    PDACCOUNTSTRUCTURE.CHANGEDBYID = @CHANGEAGENTID,
                    PDACCOUNTSTRUCTURE.DATECHANGED = getdate()
                    from PDACCOUNTSTRUCTURE inner join @TempTbl as tmp on PDACCOUNTSTRUCTURE.ID = tmp.ID
                   where PDACCOUNTSTRUCTURE.SEGMENTSEQUENCE<>tmp.SEGMENTSEQUENCE
                        end