USP_DATAFORMTEMPLATE_ADD_RESPONSE

The save procedure used by the add dataform template "Response Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@RESPONSECATEGORYID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@RESPONSE nvarchar(100) IN Response
@CODE nvarchar(10) IN Code

Definition

Copy


CREATE procedure dbo.[USP_DATAFORMTEMPLATE_ADD_RESPONSE]
(
  @ID uniqueidentifier = null output,
  @CHANGEAGENTID uniqueidentifier = null,    
  @RESPONSECATEGORYID uniqueidentifier,
  @RESPONSE nvarchar(100),
  @CODE nvarchar(10) = null
)
as
  set nocount on;

  declare @CURRENTDATE datetime;
  declare @SEQUENCE int;

  if @ID is null set @ID = newid();

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

  set @CURRENTDATE = getdate();

  set @SEQUENCE = (SELECT isnull(max([SEQUENCE]) + 1, 0) from dbo.[RESPONSE] where [RESPONSECATEGORYID] = @RESPONSECATEGORYID);

  begin try
    insert into dbo.[RESPONSE]
    (
      [ID],
      [RESPONSECATEGORYID],
      [RESPONSE],
      [CODE],
      [SEQUENCE],
      [ADDEDBYID],
      [CHANGEDBYID],
      [DATEADDED],
      [DATECHANGED]
    )
    values
    (
      @ID,
      @RESPONSECATEGORYID,
      @RESPONSE,
      @CODE,
      @SEQUENCE,
      @CHANGEAGENTID,
      @CHANGEAGENTID,
      @CURRENTDATE,
      @CURRENTDATE
    );

  end try

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

  return 0;