USP_DATAFORMTEMPLATE_VIEW_CONSTITUENTGROUPSUMMARY
The load procedure used by the view dataform template "Constituent Group Summary View"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@GROUPID | uniqueidentifier | INOUT | GROUPID |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@PRIMARYCONTACTNAME | nvarchar(700) | INOUT | Primary contact |
@PRIMARYCONTACTID | uniqueidentifier | INOUT | PRIMARYCONTACTID |
@DESCRIPTION | nvarchar(300) | INOUT | Description |
@GROUPCREATEDONDATE | datetime | INOUT | Group created on |
@GROUPINCLUDESMEMBERGIVING | bit | INOUT | Group includes member giving |
@GIVINGBYGROUP | money | INOUT | Total revenue by group |
@GIVINGBYGROUPMEMBERS | money | INOUT | Total revenue by group members |
@TOTALGIVING | money | INOUT | Total revenue |
@ISHOUSEHOLD | bit | INOUT | Is household |
@GIVESANONYMOUSLY | bit | INOUT | Gives anonymously |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@GIVINGBYGROUPMEMBERSWITHGIFTAID | money | INOUT | Total revenue with Gift Aid |
@CURRENCYID | uniqueidentifier | INOUT | CURRENCYID |
@ISINACTIVE | bit | INOUT | |
@ISDISSOLVED | bit | INOUT | |
@GROUPTYPE | nvarchar(150) | INOUT | |
@WEBADDRESS | UDT_WEBADDRESS | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_CONSTITUENTGROUPSUMMARY
(
@ID uniqueidentifier,
@GROUPID uniqueidentifier = null output,
@DATALOADED bit = 0 output,
@PRIMARYCONTACTNAME nvarchar(700) = null output,
@PRIMARYCONTACTID uniqueidentifier = null output,
@DESCRIPTION nvarchar(300) = null output,
@GROUPCREATEDONDATE datetime = null output,
@GROUPINCLUDESMEMBERGIVING bit = null output,
@GIVINGBYGROUP money = null output,
@GIVINGBYGROUPMEMBERS money = null output,
@TOTALGIVING money = null output,
@ISHOUSEHOLD bit = null output,
@GIVESANONYMOUSLY bit = null output,
@CURRENTAPPUSERID uniqueidentifier = null,
@GIVINGBYGROUPMEMBERSWITHGIFTAID money = null output,
@CURRENCYID uniqueidentifier = null output,
@ISINACTIVE bit = null output,
@ISDISSOLVED bit = null output,
@GROUPTYPE nvarchar(150) = null output,
@WEBADDRESS dbo.UDT_WEBADDRESS = null output
)
as
begin
declare @SECURITYFEATUREID uniqueidentifier;
declare @SECURITYFEATURETYPE tinyint;
set @SECURITYFEATUREID = '12134504-ebca-47ac-8b13-b54f8a8c48d8';
set @SECURITYFEATURETYPE = 1;
declare @MULTICURRENCYENABLED bit;
set @MULTICURRENCYENABLED = dbo.UFN_CONDITIONSETTING_EVALUATEEXISTSCONDITION('Multicurrency');
if @MULTICURRENCYENABLED = 1 set @CURRENCYID = dbo.UFN_APPUSER_GETBASECURRENCY(@CURRENTAPPUSERID);
set nocount on;
-- households are always donors and include member giving, other types get looked up
select
@GROUPINCLUDESMEMBERGIVING =
case
when GD.GROUPTYPECODE = 0 then 1
when GD.GROUPTYPECODE = 1 then GT.INCLUDEMEMBERGIVING
end
from
dbo.GROUPDATA GD
left join dbo.GROUPTYPE GT on GD.GROUPTYPEID = GT.ID
where
GD.ID=@ID;
declare @REVENUEFILTERID uniqueidentifier;
select @REVENUEFILTERID = ID from dbo.REVENUEFILTER where ISDEFAULT = 1;
exec dbo.USP_CONSTITUENT_REVENUESUMMARYEXPANDED
@CONSTITUENTID = @ID,
@ISGROUP = 1,
@HOUSEHOLDID = @ID,
@REVENUEFILTERID = @REVENUEFILTERID,
@STARTDATE = null,
@ENDDATE = null,
@CURRENTAPPUSERID = @CURRENTAPPUSERID,
@SITEFILTERMODE = 0,
@SITESSELECTED = null,
@SECURITYFEATUREID = @SECURITYFEATUREID,
@SECURITYFEATURETYPE = @SECURITYFEATURETYPE,
@CURRENCYCODE = 3, --BASE
@TOTALNUMBER = null,
@TOTALAMOUNT = @TOTALGIVING output,
@TOTALAMOUNT_HOUSEHOLD = @GIVINGBYGROUPMEMBERS output,
@TOTALYEARS = null,
@CONSECUTIVEYEARS = null,
@GIVENSINCEFISCALYEAR = null,
@TOTALREVENUEWITHGIFTAID = @GIVINGBYGROUPMEMBERSWITHGIFTAID output,
@FIRSTID = null,
@FIRSTRECORDID = null,
@FIRSTDATE = null,
@FIRSTTYPECODE = null,
@FIRSTTYPE = null,
@FIRSTAMOUNT = null,
@LATESTID = null,
@LATESTRECORDID = null,
@LATESTDATE = null,
@LATESTTYPECODE = null,
@LATESTTYPE = null,
@LATESTAMOUNT = null,
@CURRENCYISOCURRENCYCODE = null,
@CURRENCYDECIMALDIGITS = 0,
@CURRENCYSYMBOL = null,
@CURRENCYSYMBOLDISPLAYSETTINGCODE = 0,
@ONLYGETSUMMARY = 1;
--@GIVINGBYGROUPMEMBERSWITHGIFTAID = case @MULTICURRENCYENABLED
select
@GROUPID = @ID,
@DATALOADED = 1,
@PRIMARYCONTACTNAME = GM_NF.NAME,
@PRIMARYCONTACTID = GM.MEMBERID,
@DESCRIPTION = G.DESCRIPTION,
@GROUPCREATEDONDATE = G.DATEADDED,
@GIVINGBYGROUP = @TOTALGIVING - COALESCE(@GIVINGBYGROUPMEMBERS, 0),
@ISHOUSEHOLD =
case
when G.GROUPTYPECODE = 0 then 1
else 0
end,
@GIVESANONYMOUSLY = C.GIVESANONYMOUSLY,
@ISINACTIVE = C.ISINACTIVE,
@ISDISSOLVED = case when DISSOLVEDGROUP.ID is null then 0 else 1 end,
@WEBADDRESS = C.WEBADDRESS,
@GROUPTYPE = GROUPTYPE.NAME
from dbo.GROUPDATA G
inner join dbo.CONSTITUENT C on G.ID = C.ID
left join dbo.GROUPMEMBER GM on GM.GROUPID=@ID and GM.ISPRIMARY=1
left join dbo.DISSOLVEDGROUP on DISSOLVEDGROUP.ID = C.ID
left join dbo.GROUPTYPE on G.GROUPTYPEID = GROUPTYPE.ID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(GM.MEMBERID) GM_NF
where G.ID = @ID;
end