USP_COMMUNICATIONLETTER_GETSCHEDULEINFO_UPDATEFROMXML

Parameters

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

Definition

Copy


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

    if @CHANGEAGENTID is null
        exec USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

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

    merge into dbo.COMMUNICATIONLETTER as target
    using (
        select
            ID,
            RUNSCHEDULED
        from dbo.UFN_COMMUNICATIONLETTER_GETSCHEDULEINFO_FROMITEMLISTXML(@XML)
    ) as source
        on target.SEGMENTATIONID = @SEGMENTATIONID and source.ID = target.ID
    when matched and source.RUNSCHEDULED <> target.RUNSCHEDULED then
        update 
            set 
                target.RUNSCHEDULED = source.RUNSCHEDULED
                , CHANGEDBYID = @CHANGEAGENTID
                , DATECHANGED = @CHANGEDATE;
end