USP_DATAFORMTEMPLATE_EDIT_STEWARDSHIPPLANSTEP_3

The save procedure used by the edit dataform template "Stewardship Plan Step Edit Form".

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
@STEPPARTICIPANTS xml IN Plan participants

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_STEWARDSHIPPLANSTEP_3
(
  @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,
  @STEPPARTICIPANTS xml
) 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;


    exec dbo.USP_STEWARDSHIPPLANSTEP_PARTICIPANTS_UPDATEFROMXML @ID, @STEPPARTICIPANTS, @CHANGEAGENTID, @CHANGEDATE
  end try
  begin catch
    exec dbo.USP_RAISE_ERROR;
    return 1;
  end catch;

  return 0;

end