USP_GROUP_GETWEALTHCAPACITY
This This procedure is used to acquire ESTIMATEDWEALTHVALUE, ESTIMATEDWEALTHID, MAJORGIVINGCAPACITYVALUE, and MAJORGIVINGCAPACITYID, for a given group.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@GROUPID | uniqueidentifier | IN | |
@ESTIMATEDWEALTHVALUE | money | INOUT | |
@ESTIMATEDWEALTHID | uniqueidentifier | INOUT | |
@MAJORGIVINGCAPACITYVALUE | money | INOUT | |
@MAJORGIVINGCAPACITYID | uniqueidentifier | INOUT |
Definition
Copy
CREATE procedure dbo.USP_GROUP_GETWEALTHCAPACITY (
@GROUPID uniqueidentifier,
@ESTIMATEDWEALTHVALUE money output,
@ESTIMATEDWEALTHID uniqueidentifier output,
@MAJORGIVINGCAPACITYVALUE money output,
@MAJORGIVINGCAPACITYID uniqueidentifier output
) as
set nocount on;
set @ESTIMATEDWEALTHVALUE = 0;
set @MAJORGIVINGCAPACITYVALUE = 0;
declare @ISGROUP bit;
select @ISGROUP = ISGROUP from dbo.CONSTITUENT where ID = @GROUPID;
if @GROUPID is not null and @ISGROUP = 1 begin
declare @C_REALESTATEASSETS bigint;
declare @C_BUSINESSASSETS bigint;
declare @C_SECURITIESASSETS bigint;
declare @C_AFFLUENCEINDICATORSASSETS bigint;
declare @C_INCOMEASSETS bigint;
declare @C_OTHERASSETS bigint;
exec dbo.USP_GROUP_GETWEALTHSUMMARY
@GROUPID = @GROUPID,
@C_REALESTATEASSETS = @C_REALESTATEASSETS output,
@C_SECURITIESASSETS = @C_SECURITIESASSETS output,
@C_BUSINESSASSETS = @C_BUSINESSASSETS output,
@C_AFFLUENCEINDICATORSASSETS = @C_AFFLUENCEINDICATORSASSETS output,
@C_OTHERASSETS = @C_OTHERASSETS output,
@C_INCOME = @C_INCOMEASSETS output;
-- Calculate the estimated wealth.
set @ESTIMATEDWEALTHVALUE = coalesce(@C_REALESTATEASSETS,0) + coalesce(@C_SECURITIESASSETS,0) + coalesce(@C_BUSINESSASSETS,0) + coalesce(@C_AFFLUENCEINDICATORSASSETS,0) + coalesce(@C_INCOMEASSETS,0) + coalesce(@C_OTHERASSETS,0);
set @MAJORGIVINGCAPACITYVALUE = 0;
set @ESTIMATEDWEALTHID = null;
set @MAJORGIVINGCAPACITYID = null;
if @ESTIMATEDWEALTHVALUE > 0
begin
-- Calculate the major giving capacity.
set @MAJORGIVINGCAPACITYVALUE = cast((@ESTIMATEDWEALTHVALUE*0.05) as bigint);
-- Get estimated wealth and major giving capacity IDs.
select top 1 @ESTIMATEDWEALTHID = ID from dbo.ESTIMATEDWEALTH where MINIMUMAMOUNT<=@ESTIMATEDWEALTHVALUE order by MINIMUMAMOUNT desc;
if @ESTIMATEDWEALTHVALUE < (select min(MINIMUMAMOUNT) from dbo.ESTIMATEDWEALTH)
select @ESTIMATEDWEALTHID = ID from dbo.ESTIMATEDWEALTH where MINIMUMAMOUNT = (select min(MINIMUMAMOUNT) from dbo.ESTIMATEDWEALTH);
else if @ESTIMATEDWEALTHID is null
select @ESTIMATEDWEALTHID = ID from dbo.ESTIMATEDWEALTH where MINIMUMAMOUNT = (select max(MINIMUMAMOUNT) from dbo.ESTIMATEDWEALTH);
select top 1 @MAJORGIVINGCAPACITYID = ID from dbo.MAJORGIVINGCAPACITY where MINIMUMAMOUNT<=@MAJORGIVINGCAPACITYVALUE order by MINIMUMAMOUNT desc;
if @MAJORGIVINGCAPACITYVALUE < (select min(MINIMUMAMOUNT) from dbo.MAJORGIVINGCAPACITY)
select @MAJORGIVINGCAPACITYID = ID from dbo.MAJORGIVINGCAPACITY where MINIMUMAMOUNT = (select min(MINIMUMAMOUNT) from dbo.MAJORGIVINGCAPACITY);
else if @MAJORGIVINGCAPACITYID is null
select @MAJORGIVINGCAPACITYID = ID from dbo.MAJORGIVINGCAPACITY where MINIMUMAMOUNT = (select max(MINIMUMAMOUNT) from dbo.MAJORGIVINGCAPACITY);
end
end
return 0;