USP_DATAFORMTEMPLATE_EDIT_BATCHSTEWARDSHIPPLANSTEPUPDATEBATCHCOMMIT

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

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@VALIDATEONLY bit IN Validate only
@STEPOWNERISINDIVIDUAL bit IN Step owner is an individual
@STEWARDSHIPPLANID uniqueidentifier IN Plan ID
@CATEGORYCODEID uniqueidentifier IN Category
@OBJECTIVE nvarchar(100) IN Objective
@TARGETDATE date IN Target date
@DATELOCKED bit IN Locked
@ACTUALDATE date IN Actual date
@STARTDATE date IN Frequency start date
@ENDDATE date IN Frequency end date
@CONTACTMETHODCODEID uniqueidentifier IN Contact method
@CONTACTPERSONID uniqueidentifier IN Contact person
@CONSTITUENTID uniqueidentifier IN Assigned to
@ASSOCIATEDPLANS xml IN Associated plans
@TEMPLATE nvarchar(100) IN Template
@RECURSCODE smallint IN Frequency
@STATUSCODE smallint IN Status
@NEXTTARGETDATE date IN Next target date
@LINKTYPECODE tinyint IN Connect to
@EVENTID uniqueidentifier IN Event
@MAILINGID uniqueidentifier IN Mailing
@BENEFITID uniqueidentifier IN Benefit
@TARGETSTARTTIME UDT_HOURMINUTE IN Target start time
@TARGETENDTIME UDT_HOURMINUTE IN Target end time
@TIMEZONEENTRYID uniqueidentifier IN Time zone
@ISALLDAYEVENT bit IN Is all day event
@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_BATCHSTEWARDSHIPPLANSTEPUPDATEBATCHCOMMIT
(
  @ID uniqueidentifier,
  @CURRENTAPPUSERID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier,
  @VALIDATEONLY bit,
  @STEPOWNERISINDIVIDUAL bit,
  @STEWARDSHIPPLANID uniqueidentifier,
  @CATEGORYCODEID uniqueidentifier,
  @OBJECTIVE nvarchar(100),
  @TARGETDATE date,
  @DATELOCKED bit,
  @ACTUALDATE date,
  @STARTDATE date,
  @ENDDATE date,
  @CONTACTMETHODCODEID uniqueidentifier,
  @CONTACTPERSONID uniqueidentifier,
  @CONSTITUENTID uniqueidentifier,
  @ASSOCIATEDPLANS xml,
  @TEMPLATE nvarchar(100),
  @RECURSCODE smallint,
  @STATUSCODE smallint,
  @NEXTTARGETDATE date,
  @LINKTYPECODE tinyint,
  @EVENTID uniqueidentifier,
  @MAILINGID uniqueidentifier,
  @BENEFITID uniqueidentifier,
  @TARGETSTARTTIME dbo.UDT_HOURMINUTE,
  @TARGETENDTIME dbo.UDT_HOURMINUTE,
  @TIMEZONEENTRYID uniqueidentifier,
  @ISALLDAYEVENT bit,
  @ACTUALSTARTTIME dbo.UDT_HOURMINUTE,
  @ACTUALENDTIME dbo.UDT_HOURMINUTE,
  @STEPPARTICIPANTS xml)
as
set nocount on;

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

  begin try

    if @STATUSCODE = 1 --completed; push down actual values
    begin
      set @TARGETDATE = @ACTUALDATE;
      set @TARGETSTARTTIME = @ACTUALSTARTTIME;
      set @TARGETENDTIME = @ACTUALENDTIME;

      if @RECURSCODE > 0
        set @NEXTTARGETDATE = dbo.UFN_GETNEXTDATE(@RECURSCODE, @ACTUALDATE);
    end

    --grab current values not passed in  
    select 
      @CATEGORYCODEID = coalesce(nullif(@CATEGORYCODEID, '00000000-0000-0000-0000-000000000000'), CATEGORYCODEID),
      @OBJECTIVE = coalesce(nullif(@OBJECTIVE, ''), OBJECTIVE),
      @TARGETDATE = coalesce(@TARGETDATE, TARGETDATE), 
      @DATELOCKED = coalesce(nullif(@DATELOCKED, 0), DATELOCKED),
      @ACTUALDATE = coalesce(@ACTUALDATE, ACTUALDATE), 
      @STARTDATE = coalesce(@STARTDATE, STARTDATE),
      @ENDDATE = coalesce(@ENDDATE, ENDDATE),
      @CONTACTMETHODCODEID = coalesce(nullif(@CONTACTMETHODCODEID, '00000000-0000-0000-0000-000000000000'), CONTACTMETHODCODEID),
      @CONTACTPERSONID = coalesce(nullif(@CONTACTPERSONID, '00000000-0000-0000-0000-000000000000'), CONTACTPERSONID),
      @CONSTITUENTID = coalesce(nullif(@CONSTITUENTID, '00000000-0000-0000-0000-000000000000'), CONSTITUENTID),
      @TEMPLATE = coalesce(nullif(@TEMPLATE, ''), TEMPLATE),
      @RECURSCODE = coalesce(nullif(@RECURSCODE, 0), RECURSCODE),
      @STATUSCODE = coalesce(nullif(@STATUSCODE, 0), STATUSCODE),
      @EVENTID = coalesce(nullif(@EVENTID, '00000000-0000-0000-0000-000000000000'), EVENTID),
      @MAILINGID = coalesce(nullif(@MAILINGID, '00000000-0000-0000-0000-000000000000'), MAILINGID),
      @BENEFITID = coalesce(nullif(@BENEFITID, '00000000-0000-0000-0000-000000000000'), BENEFITID),
      @TARGETSTARTTIME = coalesce(nullif(@TARGETSTARTTIME, ''), TARGETSTARTTIME),
      @TARGETENDTIME = coalesce(nullif(@TARGETENDTIME, ''), TARGETENDTIME),
      @TIMEZONEENTRYID = coalesce(nullif(@TIMEZONEENTRYID, '00000000-0000-0000-0000-000000000000'), TIMEZONEENTRYID),
      @ACTUALSTARTTIME = coalesce(nullif(@ACTUALSTARTTIME, ''), ACTUALSTARTTIME),
      @ACTUALENDTIME = coalesce(nullif(@ACTUALENDTIME, ''), ACTUALENDTIME)
    from dbo.STEWARDSHIPPLANSTEP
    where STEWARDSHIPPLANSTEP.ID = @ID

    if @TIMEZONEENTRYID is null and @TARGETSTARTTIME is null and @TARGETENDTIME is null 
      set @ISALLDAYEVENT = 1;
    else
      set @ISALLDAYEVENT = 0;

    if @ASSOCIATEDPLANS is null 
      set @ASSOCIATEDPLANS = dbo.UFN_STEWARDSHIPPLANSTEP_ASSOCIATEDPLANS_TOITEMLISTXML(@ID, @CURRENTAPPUSERID);

    if @STEPPARTICIPANTS is null 
      set @STEPPARTICIPANTS = dbo.UFN_STEWARDSHIPPLANSTEP_PARTICIPANTS_TOITEMLISTXML(@ID);

    if @VALIDATEONLY = 0
      exec dbo.USP_DATAFORMTEMPLATE_EDIT_STEWARDSHIPPLANSTEP_GROUPORG_3 @ID = @ID, @CHANGEAGENTID = @CHANGEAGENTID, @STEWARDSHIPPLANID = @STEWARDSHIPPLANID,  @CATEGORYCODEID = @CATEGORYCODEID, @OBJECTIVE = @OBJECTIVE, @TARGETDATE = @TARGETDATE, @DATELOCKED = @DATELOCKED, @ACTUALDATE = @ACTUALDATE, @STARTDATE = @STARTDATE, @ENDDATE = @ENDDATE, @CONTACTMETHODCODEID = @CONTACTMETHODCODEID, @CONTACTPERSONID = @CONTACTPERSONID, @CONSTITUENTID = @CONSTITUENTID, @ASSOCIATEDPLANS = @ASSOCIATEDPLANS, @RECURSCODE = @RECURSCODE, @STATUSCODE = @STATUSCODE, @NEXTTARGETDATE = @NEXTTARGETDATE, @BENEFITID = @BENEFITID, @EVENTID = @EVENTID, @MAILINGID = @MAILINGID, @TARGETSTARTTIME = @TARGETSTARTTIME, @TARGETENDTIME = @TARGETENDTIME, @ISALLDAYEVENT = @ISALLDAYEVENT, @TIMEZONEENTRYID = @TIMEZONEENTRYID, @ACTUALSTARTTIME = @ACTUALSTARTTIME, @ACTUALENDTIME = @ACTUALENDTIME, @STEPPARTICIPANTS = @STEPPARTICIPANTS, @TEMPLATE = @TEMPLATE, @STEPOWNERISINDIVIDUAL = @STEPOWNERISINDIVIDUAL, @LINKTYPECODE = @LINKTYPECODE;
  end try

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

return 0;