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