USP_DATAFORMTEMPLATE_VIEW_CONSTITUENTGETHOUSEHOLDANDSPOUSE
The load procedure used by the view dataform template "Constituent Get Household And Spouse View Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@HOUSEHOLDNAME | nvarchar(154) | INOUT | Constituent's household name |
@HOUSEHOLDID | uniqueidentifier | INOUT | Constituent's household ID |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@SPOUSENAME | nvarchar(154) | INOUT | Constituent's spouse's name |
@SPOUSEID | uniqueidentifier | INOUT | Constituent's spouse's ID |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_CONSTITUENTGETHOUSEHOLDANDSPOUSE
(
@ID uniqueidentifier,
@HOUSEHOLDNAME nvarchar(154) = null output,
@HOUSEHOLDID uniqueidentifier = null output,
@DATALOADED bit = 0 output,
@SPOUSENAME nvarchar(154) = null output,
@SPOUSEID uniqueidentifier = null output
)
as
set nocount on;
-- Indicate data loaded even if the constituent isn't a member of a household. In that case,
-- HOUSEHOLDNAME should be null.
set @DATALOADED = 1;
declare @CURRENTDATEEARLIESTTIME date;
set @CURRENTDATEEARLIESTTIME = getdate();
select
@HOUSEHOLDID = C.ID,
@HOUSEHOLDNAME = C.NAME
from dbo.CONSTITUENT C
inner join dbo.GROUPMEMBER GM on C.ID = GM.GROUPID
inner join dbo.GROUPDATA GD on GM.GROUPID = GD.ID
left join dbo.GROUPMEMBERDATERANGE GMDR on GM.ID = GMDR.GROUPMEMBERID
where
GM.MEMBERID = @ID and
dbo.UFN_GROUPMEMBER_ISCURRENTMEMBER(GM.ID) = 1 and
GD.GROUPTYPECODE = 0
-- Make sure their membership is current
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));
select
@SPOUSEID = C.ID,
@SPOUSENAME = C.NAME
from
dbo.RELATIONSHIP R
inner join
dbo.CONSTITUENT C on C.ID = R.RECIPROCALCONSTITUENTID
where
R.RELATIONSHIPCONSTITUENTID = @ID
and
R.ISSPOUSE = 1;