USP_DATAFORMTEMPLATE_ADD_SPECIFIC_ORGTOIND_RELATIONSHIP
The save procedure used by the add dataform template "Relationship Specific Organization to Individual Add Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@CONTEXTID | nvarchar(72) | IN | Input parameter indicating the context ID for the record being added. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@RECIPROCALTYPECODEID | uniqueidentifier | IN | Reciprocal relationship type |
@RELATIONSHIPTYPECODEID | uniqueidentifier | IN | Relationship type |
@STARTDATE | datetime | IN | Start date |
@ENDDATE | datetime | IN | End date |
@ISCONTACT | bit | IN | The individual is a contact for this organization |
@ISPRIMARYCONTACT | bit | IN | Primary contact |
@CONTACTTYPECODEID | uniqueidentifier | IN | Contact type |
@POSITION | nvarchar(100) | IN | Job title |
@ISPRIMARYBUSINESS | bit | IN | Primary business |
@ISMATCHINGGIFTRELATIONSHIP | bit | IN | Matching gift relationship |
@PRIMARYSOFTCREDITRELATIONSHIPEXISTS | bit | IN | Apply to constituent for revenue from organization |
@PRIMARYSOFTCREDITMATCHFACTOR | decimal(5, 2) | IN | Recognition credit match percent |
@RECIPROCALSOFTCREDITRELATIONSHIPEXISTS | bit | IN | Apply to organization for revenue from constituent |
@RECIPROCALSOFTCREDITMATCHFACTOR | decimal(5, 2) | IN | Recognition credit match percent |
@PRIMARYRECOGNITIONTYPECODEID | uniqueidentifier | IN | Recognition credit type |
@RECIPROCALRECOGNITIONTYPECODEID | uniqueidentifier | IN | Recognition credit type |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_SPECIFIC_ORGTOIND_RELATIONSHIP
(
@ID uniqueidentifier = null output,
@CONTEXTID nvarchar(72),
@CHANGEAGENTID uniqueidentifier = null,
@RECIPROCALTYPECODEID uniqueidentifier,
@RELATIONSHIPTYPECODEID uniqueidentifier,
@STARTDATE datetime = null,
@ENDDATE datetime = null,
@ISCONTACT bit = 0,
@ISPRIMARYCONTACT bit = 0,
@CONTACTTYPECODEID uniqueidentifier = null,
@POSITION nvarchar(100) = '',
@ISPRIMARYBUSINESS bit = 0,
@ISMATCHINGGIFTRELATIONSHIP bit = 0,
@PRIMARYSOFTCREDITRELATIONSHIPEXISTS bit = 0,
@PRIMARYSOFTCREDITMATCHFACTOR decimal(5,2) = 100,
@RECIPROCALSOFTCREDITRELATIONSHIPEXISTS bit = 0,
@RECIPROCALSOFTCREDITMATCHFACTOR decimal(5,2) = 100,
@PRIMARYRECOGNITIONTYPECODEID uniqueidentifier = null,
@RECIPROCALRECOGNITIONTYPECODEID uniqueidentifier = null
)
as
set nocount on;
declare @CURRENTDATE datetime = getdate();
if @ID is null
set @ID = newid();
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CONSTITUENTID uniqueidentifier;
declare @RECIPROCALCONSTITUENTID uniqueidentifier;
begin try
set @CONSTITUENTID = convert(uniqueidentifier, substring(@CONTEXTID, 0, 37));
set @RECIPROCALCONSTITUENTID = convert(uniqueidentifier, substring(@CONTEXTID, 37, 37));
end try
begin catch
set @CONSTITUENTID = null;
set @RECIPROCALCONSTITUENTID = null;
end catch
begin try
if @ISMATCHINGGIFTRELATIONSHIP = 1
update
dbo.RELATIONSHIP
set
ISMATCHINGGIFTRELATIONSHIP = 0,
DATECHANGED = @CURRENTDATE,
CHANGEDBYID = @CHANGEAGENTID
where
RELATIONSHIPCONSTITUENTID = @CONSTITUENTID and
RECIPROCALCONSTITUENTID = @RECIPROCALCONSTITUENTID and
ISMATCHINGGIFTRELATIONSHIP = 1;
declare @RELATIONSHIPSETID uniqueidentifier = newid();
insert into dbo.RELATIONSHIPSET
(
ID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@RELATIONSHIPSETID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
insert into dbo.RELATIONSHIP
(
ID,
RELATIONSHIPCONSTITUENTID,
RECIPROCALCONSTITUENTID,
RELATIONSHIPTYPECODEID,
RECIPROCALTYPECODEID,
ISCONTACT,
ISPRIMARYCONTACT,
CONTACTTYPECODEID,
STARTDATE,
ENDDATE,
ISPRIMARYBUSINESS,
ISMATCHINGGIFTRELATIONSHIP,
RELATIONSHIPSETID,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@ID,
@CONSTITUENTID,
@RECIPROCALCONSTITUENTID,
@RELATIONSHIPTYPECODEID,
@RECIPROCALTYPECODEID,
@ISCONTACT,
@ISPRIMARYCONTACT,
@CONTACTTYPECODEID,
@STARTDATE,
@ENDDATE,
@ISPRIMARYBUSINESS,
@ISMATCHINGGIFTRELATIONSHIP,
@RELATIONSHIPSETID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
exec dbo.USP_RELATIONSHIPCONFIGURATION_CONFIGURE @CONSTITUENTID, @RECIPROCALCONSTITUENTID, @RELATIONSHIPTYPECODEID,
@RECIPROCALTYPECODEID, @CHANGEAGENTID, @CURRENTDATE;
if len(@POSITION) > 0
insert into dbo.RELATIONSHIPJOBINFO
(
RELATIONSHIPSETID,
JOBTITLE,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED
)
values
(
@RELATIONSHIPSETID,
@POSITION,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
);
--This form was written for to allow a relationship to be added from the Add/Edit Matching Gift forms. Those forms need to have
--the ID of the reciprocal relationship returned to them
select
@ID = ID
from
dbo.RELATIONSHIP
where
RELATIONSHIPCONSTITUENTID = @RECIPROCALCONSTITUENTID and
RECIPROCALCONSTITUENTID = @CONSTITUENTID and
RELATIONSHIPTYPECODEID = @RECIPROCALTYPECODEID and
RECIPROCALTYPECODEID = @RELATIONSHIPTYPECODEID;
exec dbo.USP_RECOGNITIONDEFAULTSUPDATE @RECIPROCALCONSTITUENTID, @CONSTITUENTID, @STARTDATE, @ENDDATE,
@PRIMARYSOFTCREDITRELATIONSHIPEXISTS, @PRIMARYSOFTCREDITMATCHFACTOR, @PRIMARYRECOGNITIONTYPECODEID,
@RECIPROCALSOFTCREDITRELATIONSHIPEXISTS, @RECIPROCALSOFTCREDITMATCHFACTOR, @RECIPROCALRECOGNITIONTYPECODEID,
@CHANGEAGENTID;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;