USP_DATAFORMTEMPLATE_EDITLOAD_RELATIONSHIP_INDTOIND
The load procedure used by the edit dataform template "Relationship Individual to Individual Edit Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@RECIPROCALCONSTITUENTID | uniqueidentifier | INOUT | Related constituent |
@RELATIONSHIPCONSTITUENTID | uniqueidentifier | INOUT | |
@RELATIONSHIPTYPECODEID | uniqueidentifier | INOUT | Relationship type |
@RECIPROCALTYPECODEID | uniqueidentifier | INOUT | Reciprocal relationship type |
@CONSTITUENTNAME | nvarchar(154) | INOUT | |
@RECIPROCALCONSTITUENTNAME | nvarchar(154) | INOUT | |
@STARTDATE | datetime | INOUT | Start date |
@ENDDATE | datetime | INOUT | End date |
@ISSPOUSE | bit | INOUT | Is spouse? |
@PRIMARYSOFTCREDITRELATIONSHIPEXISTS | bit | INOUT | Apply to <Constituent> for revenue from <Reciprocal> |
@PRIMARYSOFTCREDITMATCHFACTOR | decimal(5, 2) | INOUT | Recognition credit match percent |
@RECIPROCALSOFTCREDITRELATIONSHIPEXISTS | bit | INOUT | Apply to <Reciprocal> for revenue from <Constituent> |
@RECIPROCALSOFTCREDITMATCHFACTOR | decimal(5, 2) | INOUT | Recognition credit match percent |
@TSLONG | bigint | INOUT | Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record. |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_RELATIONSHIP_INDTOIND
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@RECIPROCALCONSTITUENTID uniqueidentifier = null output,
@RELATIONSHIPCONSTITUENTID uniqueidentifier = null output,
@RELATIONSHIPTYPECODEID uniqueidentifier = null output,
@RECIPROCALTYPECODEID uniqueidentifier = null output,
@CONSTITUENTNAME nvarchar(154) = null output,
@RECIPROCALCONSTITUENTNAME nvarchar(154) = null output,
@STARTDATE datetime = null output,
@ENDDATE datetime = null output,
@ISSPOUSE bit = null output,
@PRIMARYSOFTCREDITRELATIONSHIPEXISTS bit = null output,
@PRIMARYSOFTCREDITMATCHFACTOR decimal(5,2) = null output,
@RECIPROCALSOFTCREDITRELATIONSHIPEXISTS bit = null output,
@RECIPROCALSOFTCREDITMATCHFACTOR decimal(5,2) = null output,
@TSLONG bigint = 0 output
)
as
set nocount on;
set @DATALOADED = 0;
set @TSLONG = 0;
select
@DATALOADED = 1,
@CONSTITUENTNAME = CONSTIT1.NAME,
@RECIPROCALCONSTITUENTNAME = CONSTIT2.NAME,
@RECIPROCALCONSTITUENTID = RECIPROCALCONSTITUENTID,
@RELATIONSHIPCONSTITUENTID = RELATIONSHIPCONSTITUENTID,
@RELATIONSHIPTYPECODEID = RELATIONSHIPTYPECODEID,
@RECIPROCALTYPECODEID = RECIPROCALTYPECODEID,
@STARTDATE = STARTDATE,
@ENDDATE = ENDDATE,
@ISSPOUSE = ISSPOUSE,
@TSLONG = RELATIONSHIP.TSLONG
from dbo.RELATIONSHIP
left join dbo.CONSTITUENT as CONSTIT1 on RELATIONSHIP.RELATIONSHIPCONSTITUENTID = CONSTIT1.ID
left join dbo.CONSTITUENT as CONSTIT2 on RELATIONSHIP.RECIPROCALCONSTITUENTID = CONSTIT2.ID
where
RELATIONSHIP.ID = @ID;
set @PRIMARYSOFTCREDITRELATIONSHIPEXISTS = 0;
set @RECIPROCALSOFTCREDITRELATIONSHIPEXISTS = 0;
-- If the two constituents are members of the same household and that same household recognizes all members
-- for any member's revenue, then the two both have revenue defaults setup and the matchfactor is 100%
declare @HOUSEHOLDID uniqueidentifier
select
@HOUSEHOLDID = GM1.GROUPID
from dbo.GROUPMEMBER GM1
inner join dbo.GROUPMEMBER GM2 on GM1.GROUPID = GM2.GROUPID
inner join dbo.GROUPDATA GD on GM1.GROUPID = GD.ID
where
GD.GROUPTYPECODE = 0 and
GM1.MEMBERID = @RELATIONSHIPCONSTITUENTID and
GM2.MEMBERID = @RECIPROCALCONSTITUENTID
select
@PRIMARYSOFTCREDITRELATIONSHIPEXISTS = 1,
@PRIMARYSOFTCREDITMATCHFACTOR = MATCHFACTOR
from dbo.REVENUERECOGNITIONDEFAULT
where
SOURCECONSTITUENTID = @RELATIONSHIPCONSTITUENTID and
RECIPIENTCONSTITUENTID = @RECIPROCALCONSTITUENTID and
PREVENTRECOGNITIONSDEFAULTING = 0
set @PRIMARYSOFTCREDITMATCHFACTOR = coalesce(@PRIMARYSOFTCREDITMATCHFACTOR, 100)
select
@RECIPROCALSOFTCREDITRELATIONSHIPEXISTS = 1,
@RECIPROCALSOFTCREDITMATCHFACTOR = MATCHFACTOR
from dbo.REVENUERECOGNITIONDEFAULT
where
SOURCECONSTITUENTID = @RECIPROCALCONSTITUENTID and
RECIPIENTCONSTITUENTID = @RELATIONSHIPCONSTITUENTID and
PREVENTRECOGNITIONSDEFAULTING = 0
set @RECIPROCALSOFTCREDITMATCHFACTOR = coalesce(@RECIPROCALSOFTCREDITMATCHFACTOR, 100)
return 0;