V_QUERY_RECOGNITION_TEMPLATE
This is a template for the system generated recognition program queries.
Fields
Field | Field Type | Null | Description |
---|---|---|---|
ID | uniqueidentifier | System record ID | |
CONSTITUENTID | uniqueidentifier | Constituent ID | |
RECOGNITIONPROGRAMID | uniqueidentifier | Recognition program ID | |
RECOGNITIONLEVELID | uniqueidentifier | Recognition level ID | |
RECOGNITIONLEVEL | nvarchar(100) | yes | Recognition level |
JOINDATE | datetime | yes | Join date |
DATEACHIEVED | datetime | Date achieved | |
EXPIRATIONDATE | datetime | yes | Expiration date |
CONSECUTIVEYEARS | int | yes | Years consecutive |
TOTALAMOUNT | money | Total amount | |
TOTALPLANNEDGIFTAMOUNT | money | Planned gift total amount | |
DAYSUNTILEXPIRATION | int | yes | Days until expiration |
AMOUNTTONEXTLEVEL | money | yes | Amount to next level |
STATUS | nvarchar(16) | yes | Status |
COMMENTS | nvarchar(1000) | Comments | |
ISANONYMOUS | bit | Is anonymous | |
ADDEDBY_APPLICATION | nvarchar(200) | yes | Added by application |
ADDEDBY_USERNAME | nvarchar(128) | yes | Added by user name |
CHANGEDBY_APPLICATION | nvarchar(200) | yes | Changed by application |
CHANGEDBY_USERNAME | nvarchar(128) | yes | Changed by user name |
DATEADDED | datetime | Date added | |
DATECHANGED | datetime | Date changed | |
TSLONG | bigint | yes | Timestamp value |
BASECURRENCYID | uniqueidentifier | yes | Base currency ID |
ORGANIZATIONTOTALAMOUNT | money | Total amount (organization currency) | |
ORGANIZATIONTOTALPLANNEDGIFTAMOUNT | money | Planned gift total amount (organization currency) | |
ORGANIZATIONAMOUNTTONEXTLEVEL | money | yes | Amount to next level (organization currency) |
ORGANIZATIONEXCHANGERATEID | uniqueidentifier | yes | Currency exchange rate |
ADDEDBYID | uniqueidentifier | yes | |
CHANGEDBYID | uniqueidentifier | yes |
Definition
Copy
/*
Generated by Blackbaud AppFx Platform
Date: 9/30/2015 1:01:43 AM
Assembly Version: Blackbaud.AppFx.Platform.SqlClr, Version=4.0.153.0, Culture=neutral, PublicKeyToken=null
Copyright Blackbaud
*/
CREATE VIEW dbo.V_QUERY_RECOGNITION_TEMPLATE AS
select
CR.ID,
CR.CONSTITUENTID,
CR.RECOGNITIONPROGRAMID,
CR.RECOGNITIONLEVELID,
dbo.UFN_RECOGNITIONLEVEL_GETNAME(CR.RECOGNITIONLEVELID) as RECOGNITIONLEVEL,
(
select min(CR2.JOINDATE)
from dbo.CONSTITUENTRECOGNITION CR2
where
CR2.RECOGNITIONPROGRAMID = CR.RECOGNITIONPROGRAMID
and CR2.CONSTITUENTID = CR.CONSTITUENTID
) as [JOINDATE],
CR.JOINDATE as [DATEACHIEVED],
CR.EXPIRATIONDATE,
dbo.UFN_CONSTITUENTRECOGNITION_CONSECUTIVEYEARS(CR.ID) as [CONSECUTIVEYEARS],
CR.TOTALAMOUNT,
CR.TOTALPLANNEDGIFTAMOUNT,
DATEDIFF(dd,getdate(), CR.EXPIRATIONDATE) as DAYSUNTILEXPIRATION,
case
when RECOGNITIONLEVEL.AMOUNT <> (select MAX(AMOUNT) from dbo.RECOGNITIONLEVEL where RECOGNITIONPROGRAMID = RECOGNITIONPROGRAM.ID) then
case
when RECOGNITIONPROGRAM.REVENUECODE = 1 then --PLANNED GIFT ONLY
(
select min(PLANNEDGIFTAMOUNT)
from dbo.RECOGNITIONLEVEL RLN
where
RLN.RECOGNITIONPROGRAMID = CR.RECOGNITIONPROGRAMID
and RLN.PLANNEDGIFTAMOUNT > CR.TOTALPLANNEDGIFTAMOUNT
and RLN.ISACTIVE = 1
) - CR.TOTALPLANNEDGIFTAMOUNT
else
(
select min(AMOUNT)
from dbo.RECOGNITIONLEVEL RLN
where
RLN.RECOGNITIONPROGRAMID = CR.RECOGNITIONPROGRAMID
and AMOUNT > CR.TOTALAMOUNT
and RLN.ISACTIVE = 1
) - CR.TOTALAMOUNT
end
else null
end as AMOUNTTONEXTLEVEL,
case
when (CR.STATUSCODE = 0 and CURRENTRECOGNITIONS.EXPIRED = 1) then 'Lapsed'
else CR.STATUS
end as STATUS,
CR.COMMENTS,
CR.ISANONYMOUS,
ADDEDBY.APPLICATIONNAME as ADDEDBY_APPLICATION,
ADDEDBY.USERNAME as ADDEDBY_USERNAME,
CHANGEDBY.APPLICATIONNAME as CHANGEDBY_APPLICATION,
CHANGEDBY.USERNAME as CHANGEDBY_USERNAME,
CR.DATEADDED,
CR.DATECHANGED,
CR.TSLONG,
CR.BASECURRENCYID,
CR.ORGANIZATIONTOTALAMOUNT,
CR.ORGANIZATIONTOTALPLANNEDGIFTAMOUNT,
case
when RECOGNITIONPROGRAM.REVENUECODE = 1 then --PLANNED GIFT ONLY
(
select min(ORGANIZATIONPLANNEDGIFTAMOUNT)
from dbo.RECOGNITIONLEVEL RLN
where
RLN.RECOGNITIONPROGRAMID = CR.RECOGNITIONPROGRAMID
and RLN.ORGANIZATIONPLANNEDGIFTAMOUNT > CR.ORGANIZATIONTOTALPLANNEDGIFTAMOUNT
and RLN.ISACTIVE = 1
) - CR.ORGANIZATIONTOTALPLANNEDGIFTAMOUNT
else
(
select min(ORGANIZATIONAMOUNT)
from dbo.RECOGNITIONLEVEL RLN
where
RLN.RECOGNITIONPROGRAMID = CR.RECOGNITIONPROGRAMID
and ORGANIZATIONAMOUNT > CR.ORGANIZATIONTOTALAMOUNT
and RLN.ISACTIVE = 1
) - CR.ORGANIZATIONTOTALAMOUNT
end as ORGANIZATIONAMOUNTTONEXTLEVEL,
CR.ORGANIZATIONEXCHANGERATEID,
ADDEDBY.ID as ADDEDBYID,
CHANGEDBY.ID as CHANGEDBYID
/*#EXTENSION*/
--when generating the recognition program specific query, pass in the RECOGNITIONPROGRAMID to return the current recognitions for that program
from dbo.UFN_CONSTITUENT_GETCURRENTRECOGNITIONS(getdate(),null/*RECOGNITIONPROGRAMID*/) as CURRENTRECOGNITIONS
inner join dbo.CONSTITUENTRECOGNITION CR on CR.ID = CURRENTRECOGNITIONS.ID
left join dbo.RECOGNITIONPROGRAM on CR.RECOGNITIONPROGRAMID = RECOGNITIONPROGRAM.ID
left join dbo.RECOGNITIONLEVEL on CR.RECOGNITIONLEVELID = RECOGNITIONLEVEL.ID
left join dbo.CHANGEAGENT as ADDEDBY on ADDEDBY.ID = CR.ADDEDBYID
left join dbo.CHANGEAGENT as CHANGEDBY on CHANGEDBY.ID = CR.CHANGEDBYID
/*WHERECLAUSE*/