USP_OPPORTUNITY_DESIGNATION_UPDATEFROMXML_ALWAYSADD

Updates the designation collection on an opportunity from XML. This procedure always deletes and re-adds every entry in the collection to avoid check constraint ordering issues.

Parameters

Parameter Parameter Type Mode Description
@OPPORTUNITYID uniqueidentifier IN
@XML xml IN
@CHANGEAGENTID uniqueidentifier IN
@CHANGEDATE datetime IN

Definition

Copy


            create procedure dbo.USP_OPPORTUNITY_DESIGNATION_UPDATEFROMXML_ALWAYSADD
            (
                @OPPORTUNITYID uniqueidentifier,
                @XML xml,
                @CHANGEAGENTID uniqueidentifier = null,
                @CHANGEDATE datetime = null
            )
            as
            set nocount on;

            if @CHANGEAGENTID is null
                exec USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

            if @CHANGEDATE is null 
                set @CHANGEDATE = getdate()

            declare @contextCache varbinary(128);
            set @contextCache = CONTEXT_INFO();

            if not @CHANGEAGENTID is null
                set CONTEXT_INFO @CHANGEAGENTID;

            delete from dbo.OPPORTUNITYDESIGNATION where OPPORTUNITYDESIGNATION.OPPORTUNITYID = @OPPORTUNITYID

            if not @contextCache is null
                set CONTEXT_INFO @contextCache;

            exec dbo.USP_OPPORTUNITY_DESIGNATION_2_ADDFROMXML @OPPORTUNITYID, @XML, @CHANGEAGENTID, @CHANGEDATE;