USP_DATAFORMTEMPLATE_EDIT_DISBURSEMENTPROCESS

The save procedure used by the edit dataform template "Disbursement Process 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.
@NAME nvarchar(100) IN Name
@DESCRIPTION nvarchar(255) IN Description

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_DISBURSEMENTPROCESS (
    @ID uniqueidentifier
    ,@CHANGEAGENTID uniqueidentifier = null
  ,@NAME nvarchar(100
  ,@DESCRIPTION nvarchar(255)  
)
as

    set nocount on;

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

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

  if exists
    select * 
    from dbo.DISBURSEMENTPROCESS as DP
    where
      DP.ID = @ID
      and DP.STATUSCODE != 0 -- 0 = Started

    )
  raiserror ('Cannot change a process that is not in the created state', 16, 1);

    begin try
        -- handle updating the data

        update dbo.DISBURSEMENTPROCESS set
            NAME = @NAME
            ,DESCRIPTION = @DESCRIPTION
      -- Standard

            ,CHANGEDBYID = @CHANGEAGENTID
            ,DATECHANGED = @CURRENTDATE
        where ID = @ID;
    end try
    begin catch
        exec dbo.USP_RAISE_ERROR;
        return 1;
    end catch;

return 0;