V_FAF_DONATION
Fields
Field | Field Type | Null | Description |
---|---|---|---|
ID | uniqueidentifier | ||
ConstituentID | uniqueidentifier | ||
EventID | uniqueidentifier | ||
FirstName | nvarchar(50) | ||
LastName | nvarchar(100) | ||
Address | nvarchar(150) | ||
AddressType | nvarchar(100) | ||
City | nvarchar(50) | ||
STATE | nvarchar(50) | ||
ZIP | nvarchar(12) | ||
Country | nvarchar(100) | ||
nvarchar(100) | |||
PhoneNumber | nvarchar(100) | ||
PhoneType | nvarchar(100) | ||
Title | nvarchar(100) | ||
Suffix | nvarchar(100) | ||
Amount | money | ||
IsAnonymousGift | bit | ||
DoNotCall | bit | ||
DoNotMail | bit | ||
DoNotEmail | bit | ||
CreditcardType | nvarchar(100) | ||
CheckNumber | nvarchar(20) | ||
ReceiptNumber | int | ||
CheckDate | char(8) | yes | |
GiftDate | datetime | ||
InboundChannel | nvarchar(100) | ||
SOLICITATIONCHANNNEL | nvarchar(12) | ||
IsOnlineGift | int | ||
TransactionType | nvarchar(27) | ||
PaymentMethod | nvarchar(14) | ||
PostStatus | nvarchar(11) | ||
Tributee | nvarchar(154) | ||
TributeMessage | nvarchar(255) | ||
TributeType | nvarchar(100) | ||
MatchingGiftClaimed | money | ||
MatchingGiftPaid | money | ||
MatchingGiftOrganization | nvarchar(100) | ||
Recognition | nvarchar(154) | ||
ISPREVIOUSDONOR | int | ||
RegistrantRole | varchar(17) | ||
GroupName | nvarchar(100) | ||
GroupType | nvarchar(9) | ||
CompanyName | nvarchar(100) | ||
CompanyAddress | nvarchar(150) | ||
CompanyAddressType | nvarchar(100) | ||
CompanyCity | nvarchar(50) | ||
COMPANYSTATE | nvarchar(50) | ||
COMPANYZIP | nvarchar(12) | ||
COMPANYPhone | nvarchar(100) | ||
CompanyEmail | nvarchar(100) | ||
Companywebaddress | UDT_WEBADDRESS | ||
IsCompanyDonation | int | ||
RevenueDateChanged | datetime | ||
RevenueChangedBy | nvarchar(128) | yes | |
DonorLookupID | nvarchar(100) | ||
RevenueLookUpID | nvarchar(100) | ||
REVENUEID | uniqueidentifier |
Definition
Copy
CREATE view dbo.V_FAF_DONATION as
-- select statements here 1
select distinct
fr.ID as ID,
c.ID as ConstituentID,
e.ID as EventID,
FirstName =
case c.ISORGANIZATION
when 0 then isnull(c.FIRSTNAME, '')
else ''
end,
LastName =
case c.ISORGANIZATION
when 0 then isnull(c.KEYNAME,'')
else ''
end,
[Address] =
case c.ISORGANIZATION
when 0 then isnull(a.ADDRESSBLOCK,'')
else ''
end,
AddressType =
case c.ISORGANIZATION
when 0 then isnull(atc.[DESCRIPTION], '')
else ''
end,
City =
case c.ISORGANIZATION
when 0 then isnull(a.[CITY], '')
else ''
end,
[STATE] =
case c.ISORGANIZATION
when 0 then isnull(st.ABBREVIATION, '')
else ''
end,
ZIP =
case c.ISORGANIZATION
when 0 then isnull(a.POSTCODE, '')
else ''
end,
Country =
case c.ISORGANIZATION
when 0 then isnull(ct.DESCRIPTION, '')
else ''
end,
Email =
case c.ISORGANIZATION
when 0 then isnull(ea.EMAILADDRESS, '')
else ''
end,
PhoneNumber =
case c.ISORGANIZATION
when 0 then isnull(p.NUMBER, '')
else ''
end,
isnull(ptc.[DESCRIPTION], '') as PhoneType,
isnull(tc.[DESCRIPTION], '') as Title,
isnull(sc.[DESCRIPTION], '') as Suffix,
rs.AMOUNT as Amount,
R_EXT.GIVENANONYMOUSLY as IsAnonymousGift,
isnull(p.DONOTCALL, 0) As DoNotCall,
isnull(a.DONOTMAIL, 0) As DoNotMail,
isnull(ea.DONOTEMAIL, 0) As DoNotEmail,
isnull(ctp.[DESCRIPTION], '') As CreditcardType,
isnull(ckpmd.CHECKNUMBER, '') As CheckNumber,
isnull(rpt.RECEIPTNUMBER, '') as ReceiptNumber,
CheckDate =
case isdate(ckpmd.CHECKDATE)
when 1 then ckpmd.CHECKDATE
else null
end,
fr.DATEADDED As GiftDate,
isnull(cc.[DESCRIPTION], '') as InboundChannel,
isnull(fccl.Channel, '') as SOLICITATIONCHANNNEL,
IsOnlineGift =
case rp.PAYMENTMETHODCODE
when 2 Then 1
else 0
end,
isnull(fr.[TYPE], '') as TransactionType,
isnull(rp.PAYMENTMETHOD, '') as PaymentMethod,
isnull(fr.PostStatus, '') as PostStatus,
isnull(c2.NAME, '') as Tributee,
isnull(t.TRIBUTETEXT, '') as TributeMessage,
isnull(ttc.Description, '') as TributeType,
isnull(MatchingGift.ClaimAmount, 0) as MatchingGiftClaimed,
isnull(MatchingGift.PaidAmount, 0) as MatchingGiftPaid,
isnull(MatchingGift.CompanyName, '') as MatchingGiftOrganization,
isnull(C3.NAME, '') as Recognition,
ISPREVIOUSDONOR =
case isnull(PriorEvent.CurrentEVENTID, '00000000-0000-0000-0000-000000000000')
when '00000000-0000-0000-0000-000000000000' then 0
else 1
end,
isnull(Registrant.[Role], 'Individual') as [RegistrantRole],
isnull(Registrant.Groupname,'') As GroupName,
isnull(Registrant.GroupType, '') As GroupType,
CompanyName =
case c.ISORGANIZATION
when 1 then isnull(c.KEYNAME, '')
else ''
end,
CompanyAddress =
case c.ISORGANIZATION
when 1 then isnull(a.ADDRESSBLOCK, '')
else ''
end,
CompanyAddressType =
case c.ISORGANIZATION
when 1 then isnull(atc.[DESCRIPTION], '')
else ''
end,
CompanyCity =
case c.ISORGANIZATION
when 1 then isnull(a.[CITY], '')
else ''
end,
COMPANYSTATE =
case c.ISORGANIZATION
when 1 then isnull(st.ABBREVIATION, '')
else ''
end,
COMPANYZIP =
case c.ISORGANIZATION
when 1 then isnull(a.POSTCODE, '')
else ''
end,
COMPANYPhone =
case c.ISORGANIZATION
when 1 then isnull(p.NUMBER, '')
else ''
end,
CompanyEmail =
case c.ISORGANIZATION
when 1 then isnull(ea.EMAILADDRESS, '')
else ''
end,
isnull(c.WEBADDRESS, '') As Companywebaddress,
IsCompanyDonation =
case c.ISORGANIZATION
when 1 Then 1
else 0
end,
fr.DateChanged as RevenueDateChanged,
ca.UserName as RevenueChangedBy,
isnull(c.LOOKUPID, '') as DonorLookupID,
isnull(fr.USERDEFINEDID, '') as RevenueLookUpID,
fr.ID as REVENUEID
from dbo.FINANCIALTRANSACTION fr (nolock)
inner join dbo.FINANCIALTRANSACTIONLINEITEM FTLI (nolock)
on FTLI.FINANCIALTRANSACTIONID = fr.ID
inner join dbo.REVENUESPLIT_EXT RS_EXT (nolock)
on RS_EXT.ID = FTLI.ID
inner join dbo.REVENUE_EXT R_EXT (nolock)
on fr.ID = R_EXT.ID
inner Join dbo.[CONSTITUENT] c (nolock)
on fr.CONSTITUENTID = c.id
left join dbo.CHANGEAGENT ca (nolock)
on fr.ChangedByID = ca.ID
left outer join dbo.TITLECODE tc (nolock)
on c.TITLECODEID = tc.ID
left outer join dbo.SUFFIXCODE sc (nolock)
on c.SUFFIXCODEID = sC.ID
left Join dbo.[ADDRESS] a (nolock)
on c.ID = a.CONSTITUENTID and a.ISPRIMARY = 1
left outer join dbo.[STATE] st (nolock)
on a.STATEID = st.ID
left Join dbo.ADDRESSTYPECODE atc (nolock)
on atc.ID = a.ADDRESSTYPECODEID
left join dbo.EMAILADDRESS ea (nolock)
on ea.CONSTITUENTID = c.ID and ea.ISPRIMARY = 1
left join dbo.phone p (nolock)
on p.CONSTITUENTID = c.ID and p.ISPRIMARY = 1
left join dbo.PHONETYPECODE ptc (nolock)
on p.PHONETYPECODEID = ptc.ID
left join dbo.COUNTRY ct (nolock)
on ct.ID = a.COUNTRYID
left Join dbo.[REVENUETRIBUTE] rt (nolock)
on fr.ID = rt.REVENUEID
left join dbo.TRIBUTE t (nolock)
on rt.TRIBUTEID = t.ID
left join dbo.TRIBUTETYPECODE ttc (nolock)
on ttc.ID = t.TRIBUTETYPECODEID
left join dbo.CONSTITUENT c2 (nolock) -- tributee
on t.TRIBUTEEID = c2.ID
left join dbo.REVENUEPAYMENTMETHOD rp (nolock)
on fr.ID = rp.REVENUEID
left join dbo.CHECKPAYMENTMETHODDETAIL ckpmd (nolock)
on ckpmd.ID = rp.ID
left join dbo.CREDITCARDPAYMENTMETHODDETAIL cpmd (nolock)
on rp.ID = cpmd.ID
left join dbo.CREDITTYPECODE ctp (nolock)
on ctp.ID = cpmd.CREDITTYPECODEID
inner join dbo.REVENUESPLIT rs (nolock)
on fr.ID = rs.REVENUEID
left join dbo.REVENUERECOGNITION rr (nolock)
on rs.ID = rr.REVENUESPLITID
left join dbo.CONSTITUENT C3 (nolock) -- recognition
on rr.CONSTITUENTID = C3.Id
left join dbo.REVENUERECEIPT rpt (nolock)
on rpt.REVENUEID = fr.ID
left Join -- matching gift
(select il.REVENUEID As MatchingGiftRevenueID,
rm.MGSOURCEREVENUEID As SourceRevenueID, il.AMOUNT As ClaimAmount,
(Select Sum(isnull(AMOUNT,0)) From dbo.INSTALLMENTPAYMENT ip (nolock)
where ip.INSTALLMENTID = il.ID
) As PaidAmount,
c.KEYNAME As CompanyName
from INSTALLMENT il (nolock)
inner join REVENUEMATCHINGGIFT rm (nolock) on rm.ID = il.REVENUEID
inner join REVENUE r (nolock) on r.ID = rm.ID
inner join CONSTITUENT c (nolock) on c.ID = r.CONSTITUENTID and c.ISORGANIZATION=1) MatchingGift
on MatchingGift.SourceRevenueID = fr.ID
inner join dbo.[EVENT] e (nolock)
on e.APPEALID = R_EXT.APPEALID
left join -- registrant
(select distinct
rg.CONSTITUENTID,
rg.EVENTID,
tft.NAME as Groupname,
ts.[TYPE] As GroupType,
case when tftc.ID is not null and ts.TYPECODE = 3 then 'Head of household'
when tftc.ID is null and ts.TYPECODE = 3 then 'Household member'
when tftc.ID is not null and ts.TYPECODE = 1 then 'Team leader'
when tftc.ID is null and ts.TYPECODE = 1 then 'Team member'
when tftc.ID is not null and ts.TYPECODE = 2 then 'Company leader'
when tftc.ID is null and ts.TYPECODE = 2 then 'Individual'
when tftc.ID is null then 'Individual' end as [Role]
from dbo.REGISTRANT rg With (NOLOCK)
inner join dbo.TEAMFUNDRAISER TF With (NOLOCK) on TF.CONSTITUENTID = rg.CONSTITUENTID
inner join dbo.TEAMFUNDRAISINGTEAMMEMBER tfm (nolock) on tfm.TEAMFUNDRAISERID = tf.ID
inner join dbo.TEAMFUNDRAISINGTEAM tft (nolock) on tfm.TEAMFUNDRAISINGTEAMID = tft.ID
inner join dbo.TEAMEXTENSION ts (nolock) on ts.TEAMFUNDRAISINGTEAMID = tft.ID
left join dbo.TEAMFUNDRAISINGTEAMCAPTAIN tftc (nolock) on tftc.CONSTITUENTID = tf.CONSTITUENTID
) Registrant
on Registrant.EVENTID = e.ID and C3.ID = Registrant.CONSTITUENTID
left join dbo.FAFEVENTCOMMUNICATIONCHANNEL fccl (nolock)
on fccl.TYPECODE = 1 and fccl.TYPEGUID = fr.ID
left join dbo.CHANNELCODE cc (nolock)
on cc.ID = R_EXT.CHANNELCODEID
-- prior event
left join
(select distinct fr.CONSTITUENTID,
et.EVENTID As CurrentEventID
from dbo.EVENTEXTENSION et (nolock)
inner join dbo.[Event] e (nolock)
on et.PRIORYEAREVENTID = e.ID
inner join dbo.REVENUE fr (nolock)
on fr.APPEALID = e.APPEALID) priorEvent
on e.ID = priorEvent.CurrentEventID and c.ID = priorEvent.CONSTITUENTID
--where rs.[APPLICATION] = 'Donation' and rp.PAYMENTMETHOD <> 'None'
where (fr.TYPECODE = 0 and rs.APPLICATIONCODE in (0, 7, 17) OR fr.TYPECODE IN (1,2) )
and e.ISACTIVE = 0 and fr.[TYPE] <> 'Pending Gift'