USP_DATAFORM_EDIT_STEWARDSHIPPLANTEMPLATE2

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

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@NAME nvarchar(100) IN Template name
@STEPS xml IN
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@SITES xml IN Sites

Definition

Copy


CREATE procedure dbo.USP_DATAFORM_EDIT_STEWARDSHIPPLANTEMPLATE2
(
    @ID uniqueidentifier,
    @NAME nvarchar(100),
    @STEPS xml,
    @CHANGEAGENTID uniqueidentifier = null,
    @CURRENTAPPUSERID uniqueidentifier,
    @SITES xml
) as begin
    set nocount on;

    if @SITES is null and @CURRENTAPPUSERID is not null
    begin 
      if dbo.UFN_SITEREQUIREDFORUSER(@CURRENTAPPUSERID) = 1 
      begin
        raiserror('BBERR_STEWARDSHIPPLANTEMPLATESITE_SITEID', 13, 1);
        return 1;
      end
    end

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

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

    begin try    

        update dbo.STEWARDSHIPPLANTEMPLATE set
            NAME = @NAME,
            CHANGEDBYID = @CHANGEAGENTID,
            DATECHANGED = @CHANGEDATE
        where ID = @ID
            and NAME <> @NAME;

        exec dbo.USP_STEWARDSHIPPLANTEMPLATE_STEPS_UPDATEFROMXML @ID, @STEPS, @CHANGEAGENTID, @CHANGEDATE;                            
        exec dbo.USP_STEWARDSHIPPLANTEMPLATE_GETSITES_UPDATEFROMXML @ID, @SITES, @CHANGEAGENTID, @CHANGEDATE;
    end try
    begin catch
        exec dbo.USP_RAISE_ERROR;
        return 1;
    end catch

    return 0;
end;