UFN_GROUPGOAL_DATALIST_WITHCURRENCY
Returns table of group goals for the group and ISFUNDRAISINGGOAL criteria using the specified currency to convert monetary values.
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@GROUPID | uniqueidentifier | IN | |
@KPICATALOGID | uniqueidentifier | IN | |
@CURRENCYID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_GROUPGOAL_DATALIST_WITHCURRENCY
(
@GROUPID uniqueidentifier,
@KPICATALOGID uniqueidentifier,
@CURRENCYID uniqueidentifier
)
returns table
--with execute as caller
as
return
(
with XMLNAMESPACES ('bb_appfx_dataforms' as DFI)
select
goal.ID,
ISFUNDRAISINGGOAL,
PROGRESS,
code.DESCRIPTION TYPE,
case when ISFUNDRAISINGGOAL = 1 then dbo.UFN_GROUPGOAL_GETAMOUNTINCURRENCY(GOAL.ID, @CURRENCYID)
else AMOUNT end as AMOUNT,
STARTDATE,
GOALDATE,
goal.DESCRIPTION,
DATESORT = Case
When GOALDATE >= dbo.UFN_DATE_GETEARLIESTTIME(GETDATE()) Then 1
When GOALDATE IS NULL Then 0
Else -1
End,
GROUPGOALUNITCODEID,
(
select top 1
KPIINSTANCE.ID
from
dbo.KPIINSTANCE
where
KPIINSTANCE.KPICATALOGID = @KPICATALOGID
and
KPIINSTANCE.PARAMETERSXML.value('data(/DFI:DataFormItem/DFI:Values/DFI:fv[@ID="COMMITTEEID"]/DFI:Value)[1]','varchar(36)') = cast(GOAL.GROUPID as varchar(36))
and
KPIINSTANCE.PARAMETERSXML.value('data(/DFI:DataFormItem/DFI:Values/DFI:fv[@ID="GROUPGOALID"]/DFI:Value)[1]','varchar(36)') = cast(GOAL.ID as varchar(36))
) as KPIINSTANCEID,
NAME,
'Fundraising' as FUNDRAISERTYPE,
null as CAMPAIGNID,
null as CAMPAIGNNAME
from dbo.GROUPGOAL as GOAL
left join dbo.GROUPGOALUNITCODE as CODE
on GOAL.GROUPGOALUNITCODEID = CODE.ID
where
GROUPID = @GROUPID
union all
select
ID,
1 as ISFUNDRAISINGGOAL,
0 as PROGRESS,
'' as TYPE,
AMOUNT,
STARTDATE,
GOALDATE,
'' as DESCRIPTION,
DATESORT,
null as GROUPGOALUNITCODEID,
KPIINSTANCEID,
NAME,
'Campaign' as FUNDRAISERTYPE,
CAMPAIGNID,
CAMPAIGNNAME
from dbo.UFN_COMMITTEECAMPAIGNGOAL_DATALIST_WITHCURRENCY(@GROUPID, @CURRENCYID)
);