USP_DATAFORMTEMPLATE_ADD_CONSITUENTSPOUSE_2
The save procedure used by the add dataform template "Constituent Spouse Add Form 2".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@CONSTITUENTID | uniqueidentifier | IN | Input parameter indicating the context ID for the record being added. |
@RECIPROCALCONSTITUENTID | uniqueidentifier | IN | Spouse |
@RECIPROCALTYPECODEID | uniqueidentifier | IN | Reciprocal relationship type |
@RELATIONSHIPTYPECODEID | uniqueidentifier | IN | Relationship type |
@STARTDATE | datetime | IN | Start date |
@PRIMARYSOFTCREDITRELATIONSHIPEXISTS | bit | IN | Apply to <Constituent> for revenue from <Reciprocal> |
@PRIMARYSOFTCREDITMATCHFACTOR | decimal(5, 2) | IN | Recognition credit match percent |
@RECIPROCALSOFTCREDITRELATIONSHIPEXISTS | bit | IN | Apply to <Reciprocal> for revenue from <Constituent> |
@RECIPROCALSOFTCREDITMATCHFACTOR | decimal(5, 2) | IN | Recognition credit match percent |
@SKIP_ADDING_SECURITYGROUPS | bit | IN | Skip adding security groups |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@SKIP_ADDING_SITES | bit | IN | Skip adding sites |
@UPDATERELATIONSHIPID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_CONSITUENTSPOUSE_2(
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier = null,
@CONSTITUENTID uniqueidentifier,
@RECIPROCALCONSTITUENTID uniqueidentifier = null,
@RECIPROCALTYPECODEID uniqueidentifier,
@RELATIONSHIPTYPECODEID uniqueidentifier,
@STARTDATE datetime = null,
@PRIMARYSOFTCREDITRELATIONSHIPEXISTS bit = 0,
@PRIMARYSOFTCREDITMATCHFACTOR decimal(5,2) = 100,
@RECIPROCALSOFTCREDITRELATIONSHIPEXISTS bit = 0,
@RECIPROCALSOFTCREDITMATCHFACTOR decimal(5,2) = 100,
@SKIP_ADDING_SECURITYGROUPS bit=0,
@CURRENTAPPUSERID uniqueidentifier,
@SKIP_ADDING_SITES bit = 0,
@UPDATERELATIONSHIPID uniqueidentifier = null
)
as
set nocount on;
declare @CURRENTDATE datetime;
if @ID is null
set @ID = newid();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
set @CURRENTDATE = getdate();
begin try
declare @CONSTITUENTHASSPOUSE bit, @RECIRPOCALHASSPOUSE bit;
declare @CONSTITUENTHOUSEHOLDID uniqueidentifier, @RECIPROCALHOUSEHOLDID uniqueidentifier;
exec dbo.USP_DATAFORMTEMPLATE_VIEW_INDIVIDUALSPOUSEHOUSEHOLD @CONSTITUENTID, @HASSPOUSE=@CONSTITUENTHASSPOUSE output, @HOUSEHOLDID=@RECIPROCALHOUSEHOLDID output
exec dbo.USP_DATAFORMTEMPLATE_VIEW_INDIVIDUALSPOUSEHOUSEHOLD @RECIPROCALCONSTITUENTID, @HASSPOUSE=@RECIRPOCALHASSPOUSE output, @HOUSEHOLDID=@CONSTITUENTHOUSEHOLDID output
if @CONSTITUENTHASSPOUSE = 1
raiserror('BBERR_RELATIONSHIPCONSTITUENTID_SPOUSEEXISTS',13,1);
if @RECIRPOCALHASSPOUSE = 1
raiserror('BBERR_RECIPROCALCONSTITUENTID_SPOUSEEXISTS',13,1);
if @CONSTITUENTHOUSEHOLDID is not null and @RECIPROCALHOUSEHOLDID is not null and @CONSTITUENTHOUSEHOLDID <> @RECIPROCALHOUSEHOLDID
raiserror('BBERR_RECIPROCALCONSTITUENTID_INDIFFERENTHOUSEHOLDS',13,1);
if @UPDATERELATIONSHIPID is null
begin
declare @SETID uniqueidentifier = newid();
insert into dbo.RELATIONSHIPSET
(
ID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@SETID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
insert into dbo.RELATIONSHIP
(
ID,
RELATIONSHIPCONSTITUENTID,
RECIPROCALCONSTITUENTID,
RELATIONSHIPTYPECODEID,
RECIPROCALTYPECODEID,
ISSPOUSE,
STARTDATE,
RELATIONSHIPSETID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@ID,
@CONSTITUENTID,
@RECIPROCALCONSTITUENTID,
@RELATIONSHIPTYPECODEID,
@RECIPROCALTYPECODEID,
1,
@STARTDATE,
@SETID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
end
else
begin
update dbo.RELATIONSHIP
set
RELATIONSHIPTYPECODEID = @RELATIONSHIPTYPECODEID,
RECIPROCALTYPECODEID = @RECIPROCALTYPECODEID,
ISSPOUSE = 1,
STARTDATE = @STARTDATE,
ENDDATE = null,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where RELATIONSHIP.ID = @UPDATERELATIONSHIPID;
set @ID = @UPDATERELATIONSHIPID;
end
exec dbo.USP_RELATIONSHIPS_MANAGELIFECHANGES @ID, @CONSTITUENTID, @RECIPROCALCONSTITUENTID, @CHANGEAGENTID;
exec dbo.USP_RELATIONSHIPCONFIGURATION_CONFIGURE @CONSTITUENTID, @RECIPROCALCONSTITUENTID, @RELATIONSHIPTYPECODEID, @RECIPROCALTYPECODEID, @CHANGEAGENTID, @CURRENTDATE
exec dbo.USP_SPOUSERELATIONSHIP_SETUPHOUSEHOLD @CONSTITUENTID, @RECIPROCALCONSTITUENTID,
1, @CHANGEAGENTID, @CURRENTDATE,
@SKIP_ADDING_SECURITYGROUPS,@CURRENTAPPUSERID;
declare @PRIMARYRECOGNITIONTYPECODEID uniqueidentifier
declare @RECIPROCALRECOGNITIONTYPECODEID uniqueidentifier
select @PRIMARYSOFTCREDITRELATIONSHIPEXISTS = 1,
@PRIMARYRECOGNITIONTYPECODEID=RRD.REVENUERECOGNITIONTYPECODEID,
@PRIMARYSOFTCREDITMATCHFACTOR= RRD.MATCHFACTOR
from dbo.RECOGNITIONRELATIONSHIPDEFAULT as RRD
where RRD.CONSTITUENTTYPECODE=0 and RRD.RELATIONSHIPTYPECODEID=@RELATIONSHIPTYPECODEID
select @RECIPROCALSOFTCREDITRELATIONSHIPEXISTS = 1,
@RECIPROCALRECOGNITIONTYPECODEID=RRD.REVENUERECOGNITIONTYPECODEID,
@RECIPROCALSOFTCREDITMATCHFACTOR= RRD.MATCHFACTOR
from dbo.RECOGNITIONRELATIONSHIPDEFAULT as RRD
where RRD.CONSTITUENTTYPECODE=0 and RRD.RELATIONSHIPTYPECODEID=@RECIPROCALTYPECODEID
exec dbo.USP_RECOGNITIONDEFAULTSUPDATE @CONSTITUENTID, @RECIPROCALCONSTITUENTID,
@STARTDATE, NULL, @PRIMARYSOFTCREDITRELATIONSHIPEXISTS, @PRIMARYSOFTCREDITMATCHFACTOR,
@PRIMARYRECOGNITIONTYPECODEID, @RECIPROCALSOFTCREDITRELATIONSHIPEXISTS,
@RECIPROCALSOFTCREDITMATCHFACTOR, @RECIPROCALRECOGNITIONTYPECODEID, @CHANGEAGENTID, 0;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;