USP_DATAFORMTEMPLATE_EDIT_STEWARDSHIPPLANSTEP_2

USP_DATAFORMTEMPLATE_EDIT_STEWARDSHIPPLANSTEP_2

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.
@STEWARDSHIPPLANID uniqueidentifier IN Plan ID
@STEPOWNERISINDIVIDUAL bit IN Step owner is an individual
@CATEGORYCODEID uniqueidentifier IN Category
@OBJECTIVE nvarchar(100) IN Objective
@TARGETDATE datetime IN Target date
@DATELOCKED bit IN Locked
@ACTUALDATE datetime IN Actual date
@STARTDATE datetime IN Start date
@ENDDATE datetime IN End date
@CONTACTMETHODCODEID uniqueidentifier IN Contact method
@CONSTITUENTID uniqueidentifier IN Assigned to
@ASSOCIATEDPLANS xml IN Associated plans
@TEMPLATE nvarchar(100) IN Template
@RECURSCODE smallint IN Frequency
@STATUSCODE smallint IN Status
@NEXTTARGETDATE datetime IN Next target date
@LINKTYPECODE smallint IN Link type
@BENEFITID uniqueidentifier IN Benefit
@EVENTID uniqueidentifier IN Event
@MAILINGID uniqueidentifier IN Mailing
@TARGETSTARTTIME UDT_HOURMINUTE IN Target start time
@TARGETENDTIME UDT_HOURMINUTE IN Target end time
@ISALLDAYEVENT bit IN Is all day event
@TIMEZONEENTRYID uniqueidentifier IN Time zone
@ACTUALSTARTTIME UDT_HOURMINUTE IN Actual start time
@ACTUALENDTIME UDT_HOURMINUTE IN Actual end time

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_STEWARDSHIPPLANSTEP_2
(
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @STEWARDSHIPPLANID uniqueidentifier,
    @STEPOWNERISINDIVIDUAL bit,
    @CATEGORYCODEID uniqueidentifier,
    @OBJECTIVE nvarchar(100),
    @TARGETDATE datetime,
    @DATELOCKED bit,
    @ACTUALDATE datetime,
    @STARTDATE datetime,
    @ENDDATE datetime,
    @CONTACTMETHODCODEID uniqueidentifier,
    @CONSTITUENTID uniqueidentifier,
    @ASSOCIATEDPLANS xml,
    @TEMPLATE nvarchar(100),
    @RECURSCODE smallint,
    @STATUSCODE smallint,
    @NEXTTARGETDATE datetime,
    @LINKTYPECODE smallint,
    @BENEFITID uniqueidentifier,
    @EVENTID uniqueidentifier,
    @MAILINGID uniqueidentifier,
    @TARGETSTARTTIME dbo.UDT_HOURMINUTE,
    @TARGETENDTIME dbo.UDT_HOURMINUTE,
    @ISALLDAYEVENT bit
    @TIMEZONEENTRYID uniqueidentifier,
    @ACTUALSTARTTIME dbo.UDT_HOURMINUTE,
    @ACTUALENDTIME dbo.UDT_HOURMINUTE
) as begin
    set nocount on;

    declare @CHANGEDATE datetime;
    set @CHANGEDATE = getdate();

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

    begin try

        update dbo.STEWARDSHIPPLANSTEP set
            CATEGORYCODEID = @CATEGORYCODEID,
            OBJECTIVE = @OBJECTIVE,
            TARGETDATE = @TARGETDATE,
            DATELOCKED = @DATELOCKED,
            ACTUALDATE = case @STATUSCODE when 0 then null else @ACTUALDATE end,
            STARTDATE = @STARTDATE,
            ENDDATE = @ENDDATE,
            CONTACTMETHODCODEID = @CONTACTMETHODCODEID,
            CONSTITUENTID = @CONSTITUENTID,
            TEMPLATE = @TEMPLATE,
            RECURSCODE = @RECURSCODE,
            STATUSCODE = @STATUSCODE,

            BENEFITID = case when @LINKTYPECODE = 0 then @BENEFITID else null end,
            EVENTID = case when @LINKTYPECODE = 1 then @EVENTID else null end,
            MAILINGID = case when @LINKTYPECODE = 2 then @MAILINGID else null end,

            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CHANGEDATE,

            TARGETSTARTTIME = @TARGETSTARTTIME,
            TARGETENDTIME = @TARGETENDTIME,
            ISALLDAYEVENT = @ISALLDAYEVENT
            TIMEZONEENTRYID = @TIMEZONEENTRYID,
            ACTUALSTARTTIME = @ACTUALSTARTTIME,
            ACTUALENDTIME = @ACTUALENDTIME
        where
            ID = @ID;

        exec dbo.USP_STEWARDSHIPPLANSTEP_ASSOCIATEDPLANS_UPDATEFROMXML @ID, null, @ASSOCIATEDPLANS, @CHANGEAGENTID, @CHANGEDATE;

        -- Add assigned to constituent as a plan steward, if it doesn't already exist

        if not @CONSTITUENTID is null
            exec dbo.USP_STEWARDSHIPPLANSTEWARD_ADD @STEWARDSHIPPLANID, @CONSTITUENTID, @CHANGEAGENTID, @CHANGEDATE;

        -- Handle recursion if current step was set as complete

        if not @NEXTTARGETDATE is null
            exec dbo.USP_STEWARDSHIPPLAN_CLONERECURRINGCOMPLETEDSTEP @ID, @NEXTTARGETDATE, @CHANGEAGENTID, @CHANGEDATE;

        declare @CURRENTAPPUSERID uniqueidentifier,
                @DATALOADED bit,
                @TSLONG bigint,
                @STEPOWNERNAME nvarchar(154),
                @STEPPARTICIPANTS xml

        exec dbo.USP_DATAFORMTEMPLATE_EDITLOAD_STEWARDSHIPPLANSTEP
                @ID,
                @CURRENTAPPUSERID,
                @DATALOADED output,
                @TSLONG output,
                @STEPOWNERNAME output,
                @STEPOWNERISINDIVIDUAL output,
                @STEWARDSHIPPLANID output,
                @CATEGORYCODEID output,
                @OBJECTIVE output,
                @TARGETDATE output,
                @DATELOCKED output,
                @ACTUALDATE output,
                @STARTDATE output,
                @ENDDATE output,
                @CONTACTMETHODCODEID output,
                @CONSTITUENTID output,
                @ASSOCIATEDPLANS output,
                @TEMPLATE output,
                @RECURSCODE output,
                @STATUSCODE output,
                @NEXTTARGETDATE output,
                @LINKTYPECODE output,
                @BENEFITID output,
                @EVENTID output,
                @MAILINGID output,
                @TARGETSTARTTIME output,
                @TARGETENDTIME output,
                @TIMEZONEENTRYID output,
                @ISALLDAYEVENT output,
                @ACTUALSTARTTIME output,
                @ACTUALENDTIME output,
                @STEPPARTICIPANTS output

        exec dbo.USP_DATAFORMTEMPLATE_EDIT_STEWARDSHIPPLANSTEP_3
                @ID,
                @CHANGEAGENTID,
                @STEWARDSHIPPLANID,
                @STEPOWNERISINDIVIDUAL,
                @CATEGORYCODEID,
                @OBJECTIVE,
                @TARGETDATE,
                @DATELOCKED,
                @ACTUALDATE,
                @STARTDATE,
                @ENDDATE,
                @CONTACTMETHODCODEID,
                @CONSTITUENTID,
                @ASSOCIATEDPLANS,
                @TEMPLATE,
                @RECURSCODE,
                @STATUSCODE,
                @NEXTTARGETDATE,
                @LINKTYPECODE,
                @BENEFITID,
                @EVENTID,
                @MAILINGID,
                @TARGETSTARTTIME,
                @TARGETENDTIME,
                @ISALLDAYEVENT
                @TIMEZONEENTRYID,
                @ACTUALSTARTTIME,
                @ACTUALENDTIME,
                @STEPPARTICIPANTS

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

    return 0;

end