USP_STEWARDSHIPPLAN_CREATETEMPLATEFROMSTEPS

Create a stewardship plan template from the given steps.

Parameters

Parameter Parameter Type Mode Description
@TEMPLATENAME nvarchar(100) IN
@STEPS xml IN
@CHANGEAGENTID uniqueidentifier IN
@CHANGEDATE datetime IN

Definition

Copy


create procedure dbo.USP_STEWARDSHIPPLAN_CREATETEMPLATEFROMSTEPS
(
    @TEMPLATENAME nvarchar(100),
    @STEPS xml,    
    @CHANGEAGENTID uniqueidentifier = null,
    @CHANGEDATE datetime = null
)
as
    set nocount on;

    if len(@TEMPLATENAME) > 0
    begin
        if @CHANGEAGENTID is null
            exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

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

        declare @TEMPLATEID uniqueidentifier;        
        declare @STEPID uniqueidentifier;

        set @TEMPLATEID = newID();

        insert into dbo.STEWARDSHIPPLANTEMPLATE
            (ID, NAME, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
        values
            (@TEMPLATEID, @TEMPLATENAME, @CHANGEAGENTID, @CHANGEAGENTID, @CHANGEDATE, @CHANGEDATE);

        insert into dbo.STEWARDSHIPPLANTEMPLATESTEP
            (ID, TEMPLATEID, CATEGORYCODEID, OBJECTIVE, DATEOPTIONCODE, TARGETDATE, DATELOCKED, CONTACTMETHODCODEID, RECURSCODE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
            select
                newID(),
                @TEMPLATEID,
                CATEGORYCODEID, 
                OBJECTIVE,
                1,
                TARGETDATE,
                DATELOCKED, 
                CONTACTMETHODCODEID,
                RECURSCODE,
                @CHANGEAGENTID,
                @CHANGEAGENTID,
                @CHANGEDATE,
                @CHANGEDATE
            from dbo.STEWARDSHIPPLANSTEP
            where ID in (select ID from dbo.UFN_STEWARDSHIPPLAN_STEPSWITHCHILDREN_FROMITEMLISTXML(@STEPS));

    end

    return 0;