UFN_GETRECOGNITIONDEFAULTSBETWEENMEMBERSBYBYSOURCE
Returns recognition defaults for the constituent where the constituent is the source and the recipient is a member of the household.
Return
Return Type |
---|
table |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@GROUPID | uniqueidentifier | IN | |
@SOURCECONSTITUENTID | uniqueidentifier | IN |
Definition
Copy
create function dbo.UFN_GETRECOGNITIONDEFAULTSBETWEENMEMBERSBYBYSOURCE
(
@GROUPID uniqueidentifier,
@SOURCECONSTITUENTID uniqueidentifier
)
returns @specifiedmembers table
(
ID uniqueidentifier,
RECIPIENTCONSTITUENTID uniqueidentifier,
MATCHFACTOR decimal(5, 2)
)
as
begin
declare @CURRENTDATE datetime;
set @CURRENTDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
insert into @specifiedmembers
(
ID,
RECIPIENTCONSTITUENTID,
MATCHFACTOR
)
select
RD.ID,
RD.RECIPIENTCONSTITUENTID,
RD.MATCHFACTOR
from dbo.GROUPMEMBER GM
inner join dbo.REVENUERECOGNITIONDEFAULT RD on GM.MEMBERID = RD.SOURCECONSTITUENTID
left join dbo.GROUPMEMBERDATERANGE GMDR on GM.ID = GMDR.GROUPMEMBERID
where
GM.GROUPID = @GROUPID and
RD.SOURCECONSTITUENTID = @SOURCECONSTITUENTID
-- 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 > @CURRENTDATE))
or (GMDR.DATETO is null and (GMDR.DATEFROM is null or GMDR.DATEFROM <= @CURRENTDATE))
or (GMDR.DATEFROM <= @CURRENTDATE and GMDR.DATETO > @CURRENTDATE))
return
end