UFN_HOUSEHOLDRECOGNITIONS_GETMEMBERSPECIFIEDMEMBERS
Return recognition defaults between all group members.
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@GROUPID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_HOUSEHOLDRECOGNITIONS_GETMEMBERSPECIFIEDMEMBERS
(
@GROUPID uniqueidentifier
)
returns @specifiedmembers table
(
ID uniqueidentifier,
SOURCECONSTITUENTID uniqueidentifier,
RECIPIENTCONSTITUENTID uniqueidentifier,
MATCHFACTOR decimal(5, 2),
REVENUERECOGNITIONTYPECODEID uniqueidentifier
)
as
begin
declare @CURRENTDATEEARLIESTTIME date;
set @CURRENTDATEEARLIESTTIME = getdate();
with GROUPMEMBERSCTE as
(
select
GM.MEMBERID
from dbo.GROUPMEMBER GM
left join dbo.GROUPMEMBERDATERANGE GMDR on GM.ID = GMDR.GROUPMEMBERID
where GM.GROUPID = @GROUPID
-- the GMDR.DATETO is set to the earliest time on that day, so use a strictly greater than in checks using current day
and ((GMDR.DATEFROM is null and (GMDR.DATETO is null or GMDR.DATETO > @CURRENTDATEEARLIESTTIME))
or (GMDR.DATETO is null and (GMDR.DATEFROM is null or GMDR.DATEFROM <= @CURRENTDATEEARLIESTTIME))
or (GMDR.DATEFROM <= @CURRENTDATEEARLIESTTIME and GMDR.DATETO > @CURRENTDATEEARLIESTTIME))
)
insert into @specifiedmembers
(
ID,
SOURCECONSTITUENTID,
RECIPIENTCONSTITUENTID,
MATCHFACTOR,
REVENUERECOGNITIONTYPECODEID
)
select
RD.ID,
RD.SOURCECONSTITUENTID,
RD.RECIPIENTCONSTITUENTID,
RD.MATCHFACTOR,
RD.REVENUERECOGNITIONTYPECODEID
from dbo.REVENUERECOGNITIONDEFAULT RD
inner join dbo.CONSTITUENT C on RD.RECIPIENTCONSTITUENTID = C.ID
where
RD.SOURCECONSTITUENTID in (select MEMBERID from GROUPMEMBERSCTE) and
RD.RECIPIENTCONSTITUENTID in (select MEMBERID from GROUPMEMBERSCTE) and
-- Exclude records with PREVENTRECOGNITIONSDEFAULTING set to true
-- since that acts as flag to indicate the recognition default
-- no longer exists
PREVENTRECOGNITIONSDEFAULTING = 0
order by C.KEYNAME, C.FIRSTNAME
return
end