USP_DATAFORMTEMPLATE_ADD_GIVINGLEVELPROGRAM

The save procedure used by the add dataform template "Giving Level Program 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.
@NAME nvarchar(100) IN Program name
@DESCRIPTION nvarchar(255) IN Description
@SMARTFIELDID uniqueidentifier IN Smart field
@GIVINGLEVELPROGRAMLEVELS xml IN Levels
@SITES xml IN Site
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_GIVINGLEVELPROGRAM
(
  @ID uniqueidentifier = null output,
  @CHANGEAGENTID uniqueidentifier = null,
  @NAME nvarchar(100) = null,
  @DESCRIPTION nvarchar(255) = null,
  @SMARTFIELDID uniqueidentifier = null,
  @GIVINGLEVELPROGRAMLEVELS xml = null,
  @SITES xml = null,
  @CURRENTAPPUSERID uniqueidentifier = null
)
as
  set nocount on;

  if @GIVINGLEVELPROGRAMLEVELS is null
  begin
       raiserror('BBERR_GIVINGLEVEL_LEVELREQUIRED',13,1);
      return 1;
  end

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

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

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

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

  begin try
    insert into dbo.[GIVINGLEVELPROGRAM]
    (
      [ID],
      [NAME],
      [DESCRIPTION],
      [SMARTFIELDID],
      [ADDEDBYID],
      [CHANGEDBYID],
      [DATEADDED],
      [DATECHANGED]
    )
    values
    (
      @ID,
      @NAME,
      @DESCRIPTION,
      @SMARTFIELDID,
      @CHANGEAGENTID,
      @CHANGEAGENTID,
      @CURRENTDATE,
      @CURRENTDATE
    );

    exec dbo.USP_GIVINGLEVELPROGRAM_GETLEVELS_ADDFROMXML @ID, @GIVINGLEVELPROGRAMLEVELS, @CHANGEAGENTID;

    exec dbo.USP_GIVINGLEVELPROGRAMSITE_GETSITES_ADDFROMXML @ID, @SITES, @CHANGEAGENTID;
  end try
  begin catch
    exec dbo.USP_RAISE_ERROR;
    return 1;
  end catch

  return 0;