USP_REPORT_DESIGNATIONPROGRESSSUMMARY_WITHIDSET

Alternate version of USP_REPORT_DESIGNATIONPROGRESSSUMMARY which allows for the inclusion of an ID set.

Parameters

Parameter Parameter Type Mode Description
@IDSETID uniqueidentifier IN
@DESIGNATIONLEVELID uniqueidentifier IN
@GOALID uniqueidentifier IN
@REPORTCODE1ID uniqueidentifier IN
@REPORTCODE2ID uniqueidentifier IN
@CATEGORYID uniqueidentifier IN
@TYPE uniqueidentifier IN
@GROUPBY tinyint IN
@CURRENCYCODE tinyint IN

Definition

Copy
/*
Generated by Blackbaud Application Framework
Date: 8/17/2011 2:36:37 PM
Assembly Version: Blackbaud.AppFx.Platform.SqlClr, Version=2.91.1535.0, Culture=neutral, PublicKeyToken=null
*/
CREATE procedure dbo.USP_REPORT_DESIGNATIONPROGRESSSUMMARY_WITHIDSET (@IDSETID uniqueidentifier = null, @DESIGNATIONLEVELID uniqueidentifier, @GOALID uniqueidentifier, @REPORTCODE1ID uniqueidentifier, @REPORTCODE2ID uniqueidentifier, @CATEGORYID uniqueidentifier, @TYPE uniqueidentifier, @GROUPBY tinyint, @CURRENCYCODE tinyint)
with execute as owner
as
  set nocount on;

  declare @r int;

  if @IDSETID is null
    begin
      exec @r = dbo.[USP_REPORT_DESIGNATIONPROGRESSSUMMARY] @DESIGNATIONLEVELID, @GOALID, @REPORTCODE1ID, @REPORTCODE2ID, @CATEGORYID, @TYPE, @GROUPBY, @CURRENCYCODE;
    end
  else
    begin
      if not exists(select [ID] from dbo.[IDSETREGISTER] where [ID] = @IDSETID)
        raiserror('ID set does not exist in the database.', 15, 1);

      declare @DBOBJECTNAME nvarchar(max);
      declare @DBOBJECTTYPE smallint;
      declare @SQLTOEXEC nvarchar(max);

      select
        @DBOBJECTNAME = [DBOBJECTNAME],
        @DBOBJECTTYPE = [OBJECTTYPE]
      from dbo.[IDSETREGISTER]
      where [ID] = @IDSETID;

      if left(@DBOBJECTNAME, 1) <> '['
        set @DBOBJECTNAME = '[' + @DBOBJECTNAME + ']';

      if @DBOBJECTTYPE = 1
        begin
          set @DBOBJECTNAME = @DBOBJECTNAME + '(';
          set @DBOBJECTNAME = @DBOBJECTNAME + ')';
        end
      else
        begin
          if @DBOBJECTTYPE = 2
            set @DBOBJECTNAME = @DBOBJECTNAME + '(''' + convert(nvarchar(36), @IDSETID) + ''')';
        end

      set @SQLTOEXEC = cast(N'declare @SELECTEDCURRENCYID uniqueidentifier;

                if @CURRENCYCODE = 0
                    -- use each DESIGNATIONS''s base currency

                    set @SELECTEDCURRENCYID = null;
                else
                begin
                    -- use org currency

                    set @CURRENCYCODE = 1;
                    set @SELECTEDCURRENCYID = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
                end

                select 
                    ''http://www.blackbaud.com/DESIGNATIONID?DESIGNATIONID='' + CONVERT(nvarchar(36),DESIGNATIONPROGRESS.DESIGNATIONID) as [DESIGNATIONID],
                    DESIGNATIONPROGRESS.LEVEL1NAME,
                    case when DESIGNATIONPROGRESS.LEVEL2NAME is null then DESIGNATIONPROGRESS.LEVEL1NAME
                         when DESIGNATIONPROGRESS.LEVEL3NAME is null then DESIGNATIONPROGRESS.LEVEL1NAME + '' \ '' + DESIGNATIONPROGRESS.LEVEL2NAME
                         when DESIGNATIONPROGRESS.LEVEL4NAME is null then DESIGNATIONPROGRESS.LEVEL1NAME + '' \ '' + DESIGNATIONPROGRESS.LEVEL2NAME + '' \ '' + DESIGNATIONPROGRESS.LEVEL3NAME
                         when DESIGNATIONPROGRESS.LEVEL5NAME is null then DESIGNATIONPROGRESS.LEVEL1NAME + '' \ '' + DESIGNATIONPROGRESS.LEVEL2NAME + '' \ '' + DESIGNATIONPROGRESS.LEVEL3NAME + '' \ '' + DESIGNATIONPROGRESS.LEVEL4NAME
                         else DESIGNATIONPROGRESS.LEVEL1NAME + '' \ '' + DESIGNATIONPROGRESS.LEVEL2NAME + '' \ '' + DESIGNATIONPROGRESS.LEVEL3NAME + '' \ '' + DESIGNATIONPROGRESS.LEVEL4NAME + '' \ '' + DESIGNATIONPROGRESS.LEVEL5NAME
                         end DESIGNATIONNAME,
                    DESIGNATIONPROGRESS.DESIGNATIONLEVEL1ID,
                    DESIGNATIONPROGRESS.DESIGNATIONLEVEL2ID,
                    DESIGNATIONPROGRESS.DESIGNATIONLEVEL3ID,
                    DESIGNATIONPROGRESS.DESIGNATIONLEVEL4ID,
                    DESIGNATIONPROGRESS.DESIGNATIONLEVEL5ID,
                    DESIGNATIONPROGRESS.DESIGNATIONLEVELTYPE,
                    DESIGNATIONPROGRESS.REPORTCODE1,
                    DESIGNATIONPROGRESS.REPORTCODE2,
                    coalesce(DESIGNATIONPROGRESS.DESIGNATIONGOAL,0) as DESIGNATIONGOAL,
                    coalesce(DESIGNATIONPROGRESS.OVERALLGOAL,0) as OVERALLGOAL,
                    DESIGNATIONPROGRESS.GOALNAME,
                    DESIGNATIONPROGRESS.STARTDATE,
                    DESIGNATIONPROGRESS.ENDDATE,
                    coalesce(DESIGNATIONPROGRESS.TOTALEXPECTED,0) as TOTALEXPECTED,
                    coalesce(DESIGNATIONPROGRESS.TOTALRECEIVED,0) as TOTALRECEIVED,
                    coalesce(DESIGNATIONPROGRESS.TOTALPLANNEDGIFT,0) as TOTALPLANNEDGIFT,
                    coalesce(DESIGNATIONPROGRESS.TOTALGIFTS,0) as TOTALGIFTS,
                    coalesce(DESIGNATIONPROGRESS.TOTALDONORS,0) as TOTALDONORS,
                    DESIGNATIONPROGRESS.APPEALNAME,
                    coalesce(DESIGNATIONPROGRESS.APPEALRECEIVED,0) as APPEALRECEIVED,
                    coalesce(DESIGNATIONPROGRESS.APPEALEXPECTED,0) as APPEALEXPECTED,
                    coalesce(DESIGNATIONPROGRESS.APPEALNUMGIFTS,0) as APPEALNUMGIFTS,
                    coalesce(DESIGNATIONPROGRESS.APPEALNUMDONORS,0) as APPEALNUMDONORS,
                    coalesce(DESIGNATIONPROGRESS.APPEALMAXGIFT,0) as APPEALMAXGIFT,
                    coalesce(DESIGNATIONPROGRESS.APPEALPLANNEDGIFT,0) as APPEALPLANNEDGIFT,
                    DESIGNATIONPROGRESS.APPEALCURRENCYID,
                    DESIGNATIONPROGRESS.APPEALCURRENCYISO,
                    DESIGNATIONPROGRESS.APPEALCURRENCYDECIMALDIGITS,
                    DESIGNATIONPROGRESS.APPEALCURRENCYSYMBOL,
                    DESIGNATIONPROGRESS.APPEALCURRENCYSYMBOLDISPLAYSETTINGCODE,
                    DESIGNATIONPROGRESS.DESIGNATIONCURRENCYID,
                    DESIGNATIONPROGRESS.DESIGNATIONCURRENCYISO,
                    DESIGNATIONPROGRESS.DESIGNATIONCURRENCYDECIMALDIGITS,
                    DESIGNATIONPROGRESS.DESIGNATIONCURRENCYSYMBOL,
                    DESIGNATIONPROGRESS.DESIGNATIONCURRENCYSYMBOLDISPLAYSETTINGCODE,
                    DESIGNATIONPROGRESS.ISACTIVE
                from 
                    dbo.UFN_DESIGNATION_GETPROGRESSINCURRENCY(@DESIGNATIONLEVELID, @GOALID, @REPORTCODE1ID, @REPORTCODE2ID, 1, @GROUPBY, @SELECTEDCURRENCYID) DESIGNATIONPROGRESS
                     inner join dbo.' as nvarchar(max)) + @DBOBJECTNAME + cast(N' as [IDSET_299b8b95_01f4_4d9f_a403_fa88825d278c] on [DESIGNATIONPROGRESS].[DESIGNATIONID] = [IDSET_299b8b95_01f4_4d9f_a403_fa88825d278c].[ID] 
                where
                    (DESIGNATIONPROGRESS.LASTCATEGORYCODEID = @CATEGORYID or @CATEGORYID is null) and
                    (DESIGNATIONPROGRESS.LASTTYPEID = @TYPE or @TYPE is null);' as nvarchar(max));

      exec @r = sp_executesql @SQLTOEXEC, N'@DESIGNATIONLEVELID uniqueidentifier, @GOALID uniqueidentifier, @REPORTCODE1ID uniqueidentifier, @REPORTCODE2ID uniqueidentifier, @CATEGORYID uniqueidentifier, @TYPE uniqueidentifier, @GROUPBY tinyint, @CURRENCYCODE tinyint', @DESIGNATIONLEVELID = @DESIGNATIONLEVELID, @GOALID = @GOALID, @REPORTCODE1ID = @REPORTCODE1ID, @REPORTCODE2ID = @REPORTCODE2ID, @CATEGORYID = @CATEGORYID, @TYPE = @TYPE, @GROUPBY = @GROUPBY, @CURRENCYCODE = @CURRENCYCODE;
    end

  return @r;