USP_SELECTIVECOMMUNICATIONLETTERS_GETLETTEROPTIONS_UPDATEFROMXML

Parameters

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

Definition

Copy


CREATE procedure dbo.USP_SELECTIVECOMMUNICATIONLETTERS_GETLETTEROPTIONS_UPDATEFROMXML
(
    @SEGMENTATIONID uniqueidentifier,
    @LETTEROPTIONS xml,
    @CHANGEAGENTID uniqueidentifier = null,
    @CHANGEDATE datetime = null
)
as
begin
    set nocount on;

    begin try
        if @CHANGEAGENTID is null
            exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

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

        update dbo.COMMUNICATIONLETTER set
            COMMUNICATIONLETTER.RUNNOW = OPTIONS.RUNNOW,
            COMMUNICATIONLETTER.CHANGEDBYID = @CHANGEAGENTID,
            COMMUNICATIONLETTER.DATECHANGED = @CHANGEDATE
        from dbo.COMMUNICATIONLETTER
        inner join dbo.UFN_SELECTIVECOMMUNICATIONLETTERS_GETLETTEROPTIONS_FROMITEMLISTXML(@LETTEROPTIONS) OPTIONS
            on COMMUNICATIONLETTER.ID = OPTIONS.ID
        where COMMUNICATIONLETTER.SEGMENTATIONID = @SEGMENTATIONID
            and COMMUNICATIONLETTER.RUNNOW <> OPTIONS.RUNNOW;

    end try

    begin catch
        exec dbo.USP_RAISE_ERROR;
        return 1;
    end catch

    return 0;
end