USP_KPI_CAMPAIGNHIERARCHYGOAL_GOALAMOUNTTOTAL
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@VALUE | money | INOUT | |
@ASOFDATE | datetime | IN | |
@CAMPAIGNID | uniqueidentifier | IN | |
@CAMPAIGNHIERARCHYGOALID | uniqueidentifier | IN | |
@CURRENCYID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_KPI_CAMPAIGNHIERARCHYGOAL_GOALAMOUNTTOTAL (
@VALUE money output,
@ASOFDATE datetime,
@CAMPAIGNID uniqueidentifier,
@CAMPAIGNHIERARCHYGOALID uniqueidentifier,
@CURRENCYID uniqueidentifier = null
) as begin
declare @GOALSTARTDATE datetime, @GOALENDDATE datetime, @HIERARCHYPATH hierarchyid
select
@GOALSTARTDATE = CAMPAIGNHIERARCHYGOAL.STARTDATE,
@GOALENDDATE = CAMPAIGNHIERARCHYGOAL.ENDDATE,
@HIERARCHYPATH = CAMPAIGN.HIERARCHYPATH
from dbo.CAMPAIGNHIERARCHYGOAL
inner join dbo.CAMPAIGN on CAMPAIGN.ID = CAMPAIGNHIERARCHYGOAL.CAMPAIGNID
where CAMPAIGNHIERARCHYGOAL.ID = @CAMPAIGNHIERARCHYGOALID
if @GOALENDDATE is null or datediff(day, @ASOFDATE, @GOALENDDATE) > 0
begin
set @GOALENDDATE = @ASOFDATE;
end
declare @ORGANIZATIONCURRENCYID uniqueidentifier = dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY();
declare @TOTALRECEIVED money;
select @TOTALRECEIVED = TOTALRECEIVED
from dbo.UFN_CAMPAIGN_GETTOTALRECEIVEDINCURRENCY(@HIERARCHYPATH, @GOALSTARTDATE, @GOALENDDATE, @CURRENCYID, @ORGANIZATIONCURRENCYID);
declare @PLEDGEBALANCE money;
select @PLEDGEBALANCE = PLEDGEBALANCE
from dbo.UFN_CAMPAIGN_GETPLEDGEBALANCEINCURRENCY(@HIERARCHYPATH, @GOALSTARTDATE, @GOALENDDATE, @CURRENCYID, @ORGANIZATIONCURRENCYID);
set @VALUE = coalesce(@TOTALRECEIVED, 0) + coalesce(@PLEDGEBALANCE, 0);
end