USP_BBNC_PHONESANDEMAILS
Retrieves all of a constituent's phone and email address data for Blackbaud Internet Solutions.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | int | IN |
Definition
Copy
CREATE procedure dbo.USP_BBNC_PHONESANDEMAILS
(
@ID int
)
as
set nocount on;
select
PHONETYPE,
NUMBER,
ISEMAIL,
SYSTEMID,
STARTDATE,
ENDDATE,
DONOTCONTACT,
ISPRIMARY,
GUID,
PHONETYPECODEID
from
(
select
EMAILADDRESSTYPECODE.DESCRIPTION as PHONETYPE,
EMAILADDRESS.EMAILADDRESS as NUMBER,
convert(bit, 1) as ISEMAIL,
bctim.ID as SYSTEMID,
EMAILADDRESS.SEQUENCE,
EMAILADDRESS.STARTDATE,
EMAILADDRESS.ENDDATE,
EMAILADDRESS.DONOTEMAIL as DONOTCONTACT,
EMAILADDRESS.ISPRIMARY,
EMAILADDRESS.ID as GUID,
EMAILADDRESSTYPECODE.ID AS PHONETYPECODEID
from
dbo.CONSTITUENT
inner join
dbo.EMAILADDRESS on CONSTITUENT.ID = EMAILADDRESS.CONSTITUENTID
left join
dbo.EMAILADDRESSTYPECODE on EMAILADDRESS.EMAILADDRESSTYPECODEID = EMAILADDRESSTYPECODE.ID
left join
dbo.BBNCCODETABLEIDMAP as bctim
on
bctim.TABLEENTRYID = EMAILADDRESSTYPECODE.ID
where
CONSTITUENT.SEQUENCEID = @ID
union all
select
PHONETYPECODE.DESCRIPTION as PHONETYPE,
PHONE.NUMBER,
convert(bit, 0) as ISEMAIL,
bctim.ID AS SYSTEMID,
PHONE.SEQUENCE,
PHONE.STARTDATE,
PHONE.ENDDATE,
PHONE.DONOTCALL as DONOTCONTACT,
PHONE.ISPRIMARY,
PHONE.ID as GUID,
PHONETYPECODE.ID AS PHONETYPECODEID
from
dbo.CONSTITUENT
inner join
dbo.PHONE on CONSTITUENT.ID = PHONE.CONSTITUENTID
left join
dbo.PHONETYPECODE on PHONE.PHONETYPECODEID = PHONETYPECODE.ID
left join
dbo.BBNCCODETABLEIDMAP as bctim
on
bctim.TABLEENTRYID = PHONETYPECODE.ID
where
CONSTITUENT.SEQUENCEID = @ID
) as T
order by
ISPRIMARY desc, PHONETYPE desc, SEQUENCE;
--Order matters since Galileo can have multiple phones with the same type and BBNC only uses the first