USP_SIMPLEDATALIST_HOUSEHOLDMEMBERSFORRECOGNITIONSETTINGSEDIT

Returns all active household members aside from the specified member to exclude.

Parameters

Parameter Parameter Type Mode Description
@GROUPID uniqueidentifier IN Household
@SPECIFICCONSTITUENTTOEXCLUDE uniqueidentifier IN Specific constituent to exclude

Definition

Copy


                CREATE procedure dbo.USP_SIMPLEDATALIST_HOUSEHOLDMEMBERSFORRECOGNITIONSETTINGSEDIT
                (
                    @GROUPID uniqueidentifier,
                    @SPECIFICCONSTITUENTTOEXCLUDE uniqueidentifier = null
                )
                as
                set nocount on;

                declare @CURRENTDATEEARLIESTTIME date;
                set @CURRENTDATEEARLIESTTIME = getdate();

                select
                    GM.MEMBERID as VALUE,
                    (select C.NAME from dbo.CONSTITUENT C where C.ID=GM.MEMBERID) as LABEL
                from dbo.GROUPMEMBER GM
                left join dbo.GROUPMEMBERDATERANGE GMDR on GM.ID = GMDR.GROUPMEMBERID
                where
                    GM.GROUPID = @GROUPID
                    and
                    (@SPECIFICCONSTITUENTTOEXCLUDE is null or GM.MEMBERID <> @SPECIFICCONSTITUENTTOEXCLUDE)
                    -- 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))
                order by LABEL