USP_SIMPLELIST_CONSTITUENTCONTACTRELATIONSHIP

List of contact relationships for a given organization.

Parameters

Parameter Parameter Type Mode Description
@CONSTITUENTID uniqueidentifier IN CONSTITUENTID
@INCLUDEINACTIVE bit IN INCLUDEINACTIVE
@RELATIONSHIPID uniqueidentifier IN RELATIONSHIPID

Definition

Copy


                CREATE procedure dbo.USP_SIMPLELIST_CONSTITUENTCONTACTRELATIONSHIP
                (
                    @CONSTITUENTID uniqueidentifier,
                    @INCLUDEINACTIVE bit = 0,
                    @RELATIONSHIPID uniqueidentifier = null
                )
                as
                    set nocount on;

                    declare @CURRENTDATE datetime;
                    declare @UPPERBOUND datetime;
                    declare @LOWERBOUND datetime;

                    set @CURRENTDATE = getdate();
                    set @UPPERBOUND = dbo.UFN_DATE_GETLATESTTIME(@CURRENTDATE);
                    set @LOWERBOUND = dbo.UFN_DATE_GETEARLIESTTIME(@CURRENTDATE);

                    select
                        RELATIONSHIP.ID [VALUE],
                        RELATIONSHIP.DESCRIPTION [LABEL]
                    from
                        dbo.RELATIONSHIP
                    inner join
                        dbo.CONSTITUENT on RELATIONSHIP.RECIPROCALCONSTITUENTID = CONSTITUENT.ID
                    left outer join
                        dbo.DECEASEDCONSTITUENT on DECEASEDCONSTITUENT.ID = CONSTITUENT.ID
                    where
                        RELATIONSHIP.RELATIONSHIPCONSTITUENTID = @CONSTITUENTID
                        and RELATIONSHIP.ISCONTACT = 1
                        and (RELATIONSHIP.STARTDATE is null or RELATIONSHIP.STARTDATE <= @UPPERBOUND)
                        and (RELATIONSHIP.ENDDATE is null or RELATIONSHIP.ENDDATE >= @LOWERBOUND)
                        and (
                            (
                                (@INCLUDEINACTIVE = 1 or CONSTITUENT.ISINACTIVE = 0)
                                and DECEASEDCONSTITUENT.ID is null
                            )
                            or RELATIONSHIP.ID = @RELATIONSHIPID
                        )
                    order by
                        RELATIONSHIP.ISPRIMARYCONTACT,
                        LABEL;

                    return 0;