USP_BBNCCUSTOM_ADD_DESIGNATION

Retrieves or creates a designation based on a Blackbaud Internet Solutions fund data.

Parameters

Parameter Parameter Type Mode Description
@BBNCID int INOUT BBNC ID
@CHANGEAGENTID uniqueidentifier IN CHANGEAGENTID
@NAME nvarchar(100) IN NAME
@LOOKUPID nvarchar(100) IN LOOKUPID
@VANITYNAME nvarchar(512) IN VANITYNAME

Definition

Copy



      CREATE procedure dbo.USP_BBNCCUSTOM_ADD_DESIGNATION
            (
                  @BBNCID int = null output,
                  @CHANGEAGENTID uniqueidentifier = null,   
                  @NAME nvarchar(100) = '',
                  @LOOKUPID nvarchar(100) = null,
                  @VANITYNAME nvarchar(512) = ''
)
            as
            begin
                  set nocount on;                                 

                  declare @CURRENTDATE datetime;

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

                  set @CURRENTDATE = getdate();

                  begin try                                              
                        declare @DESIGNATIONLEVELID uniqueidentifier
                        select @DESIGNATIONLEVELID = ID from dbo.DESIGNATIONLEVEL where USERID= @LOOKUPID
                        if @DESIGNATIONLEVELID is null 
                              begin
                                    set @DESIGNATIONLEVELID = newid();

                                    declare @DESIGNATIONLEVELTYPEID uniqueidentifier
                                    select @DESIGNATIONLEVELTYPEID = ID from dbo.DESIGNATIONLEVELTYPE where DESIGNATIONLEVELTYPE.DESCRIPTION = 'Fund';

                                    insert into dbo.DESIGNATIONLEVEL
                                          (ID,NAME,USERID,VANITYNAME,DESIGNATIONLEVELTYPEID, ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
                                    VALUES
                                          (@DESIGNATIONLEVELID,@NAME + @LOOKUPID,@LOOKUPID,@VANITYNAME,@DESIGNATIONLEVELTYPEID, @CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE)
                              end

                        declare @DESIGNATIONID uniqueidentifier
                        select @DESIGNATIONID = ID from dbo.DESIGNATION where DESIGNATIONLEVEL1ID = @DESIGNATIONLEVELID and USERID = @LOOKUPID
                        if @DESIGNATIONID is null 
                              begin 
                                    set @DESIGNATIONID = newID();

                                    insert into dbo.DESIGNATION (ID,DESIGNATIONLEVEL1ID,USERID,VANITYNAME,ACCOUNTNUMBER, PROJECTCODE ,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)

                                          values (@DESIGNATIONID, @DESIGNATIONLEVELID,@LOOKUPID,@VANITYNAME,'123', '123', @CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE);

                              end

                        select @BBNCID = ID from dbo.BBNCDESIGNATIONIDMAP where DESIGNATIONID = @DESIGNATIONID

                  end try

                  begin catch
                        exec dbo.USP_RAISE_ERROR
                        return 1
                  end catch

                  select @DESIGNATIONID as 'ID', @BBNCID

            end