UFN_MAILING_GETNAMEFORMATS_JOINTPROCESSOR
Returns constituents with address and name format processing rules applied.
Return
| Return Type |
|---|
| uniqueidentifier |
Parameters
| Parameter | Parameter Type | Mode | Description |
|---|---|---|---|
| @CONSTITUENTID | uniqueidentifier | IN | |
| @SPOUSEID | uniqueidentifier | IN | |
| @CONSTITUENTGENDERCODE | tinyint | IN | |
| @SPOUSEGENDERCODE | tinyint | IN | |
| @JOINTRULETYPECODE | tinyint | IN | |
| @JOINTSELECTIONID | uniqueidentifier | IN | |
| @JOINTSELECTIONBOTHRULETYPECODE | tinyint | IN | |
| @JOINTSELECTIONNEITHERRULETYPECODE | tinyint | IN | |
| @CONSTITUENTGENDERCODEID | uniqueidentifier | IN | |
| @SPOUSEGENDERCODEID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_MAILING_GETNAMEFORMATS_JOINTPROCESSOR(
@CONSTITUENTID uniqueidentifier,
@SPOUSEID uniqueidentifier,
@CONSTITUENTGENDERCODE tinyint,
@SPOUSEGENDERCODE tinyint,
@JOINTRULETYPECODE As tinyint,
@JOINTSELECTIONID As uniqueidentifier,
@JOINTSELECTIONBOTHRULETYPECODE As tinyint,
@JOINTSELECTIONNEITHERRULETYPECODE As tinyint,
@CONSTITUENTGENDERCODEID uniqueidentifier,
@SPOUSEGENDERCODEID uniqueidentifier)
returns uniqueidentifier
as
begin
declare @MALEGENDERCODEID uniqueidentifier = dbo.UFN_GENDERCODEDEFAULTMAPPING_GETGENDERCODEID(1);
declare @FEMALEGENDERCODEID uniqueidentifier = dbo.UFN_GENDERCODEDEFAULTMAPPING_GETGENDERCODEID(2);
declare @UNKNOWNGENDERCODEID uniqueidentifier = dbo.UFN_GENDERCODEDEFAULTMAPPING_GETGENDERCODEID(0);
if @SPOUSEID is null
return @CONSTITUENTID;
if @JOINTRULETYPECODE = 1 /*default*/
return @CONSTITUENTID;
if @JOINTRULETYPECODE = 2 /*primary*/
if dbo.UFN_CONSTITUENT_ISPRIMARYHOUSEHOLDMEMBER(@SPOUSEID) = 1
return @SPOUSEID
else
return @CONSTITUENTID
if @JOINTRULETYPECODE = 3 /* male */
if isnull(@SPOUSEGENDERCODEID, @UNKNOWNGENDERCODEID) = @MALEGENDERCODEID
and isnull(@CONSTITUENTGENDERCODEID, @UNKNOWNGENDERCODEID) <> @MALEGENDERCODEID
return @SPOUSEID
else
return @CONSTITUENTID
if @JOINTRULETYPECODE = 4 /* female */
if isnull(@SPOUSEGENDERCODEID, @UNKNOWNGENDERCODEID) = @FEMALEGENDERCODEID
and isnull(@CONSTITUENTGENDERCODEID, @UNKNOWNGENDERCODEID) <> @FEMALEGENDERCODEID
return @SPOUSEID
else
return @CONSTITUENTID
if @JOINTRULETYPECODE = 5 /* selection */
begin
declare @CONSTITUENTEXISTS bit = 0;
declare @SPOUSEEXISTS bit = 0;
set @CONSTITUENTEXISTS = dbo.UFN_IDSETREADER_EXISTSIN_GUID(@JOINTSELECTIONID, @CONSTITUENTID);
set @SPOUSEEXISTS = dbo.UFN_IDSETREADER_EXISTSIN_GUID(@JOINTSELECTIONID, @SPOUSEID);
if @CONSTITUENTEXISTS = 1 and @SPOUSEEXISTS = 0
return @CONSTITUENTID;
if @CONSTITUENTEXISTS = 0 and @SPOUSEEXISTS = 1
return @SPOUSEID;
if @CONSTITUENTEXISTS = 1 and @SPOUSEEXISTS = 1
begin
if @JOINTSELECTIONBOTHRULETYPECODE = 1
return @CONSTITUENTID;
if @JOINTSELECTIONBOTHRULETYPECODE = 2 /*primary*/
if dbo.UFN_CONSTITUENT_ISPRIMARYHOUSEHOLDMEMBER(@SPOUSEID) = 1
return @SPOUSEID
else
return @CONSTITUENTID
if @JOINTSELECTIONBOTHRULETYPECODE = 3 /* male */
if isnull(@SPOUSEGENDERCODEID, @UNKNOWNGENDERCODEID) = @MALEGENDERCODEID and isnull(@CONSTITUENTGENDERCODEID, @UNKNOWNGENDERCODEID) <> @MALEGENDERCODEID
return @SPOUSEID
else
return @CONSTITUENTID
if @JOINTSELECTIONBOTHRULETYPECODE = 4 /* female */
if isnull(@SPOUSEGENDERCODEID, @UNKNOWNGENDERCODEID) = @FEMALEGENDERCODEID and isnull(@CONSTITUENTGENDERCODEID, @UNKNOWNGENDERCODEID) <> @FEMALEGENDERCODEID
return @SPOUSEID
else
return @CONSTITUENTID
end
if @CONSTITUENTEXISTS = 1 and @SPOUSEEXISTS = 1
begin
if @JOINTSELECTIONNEITHERRULETYPECODE = 1
return @CONSTITUENTID;
if @JOINTSELECTIONNEITHERRULETYPECODE = 2 /*primary*/
if dbo.UFN_CONSTITUENT_ISPRIMARYHOUSEHOLDMEMBER(@SPOUSEID) = 1
return @SPOUSEID
else
return @CONSTITUENTID
if @JOINTSELECTIONNEITHERRULETYPECODE = 3 /* male */
if isnull(@SPOUSEGENDERCODEID, @UNKNOWNGENDERCODEID) = @MALEGENDERCODEID and isnull(@CONSTITUENTGENDERCODEID, @UNKNOWNGENDERCODEID) <> @MALEGENDERCODEID
return @SPOUSEID
else
return @CONSTITUENTID
if @JOINTSELECTIONNEITHERRULETYPECODE = 4 /* female */
if isnull(@SPOUSEGENDERCODEID, @UNKNOWNGENDERCODEID) = @FEMALEGENDERCODEID and isnull(@CONSTITUENTGENDERCODEID, @UNKNOWNGENDERCODEID) <> @FEMALEGENDERCODEID
return @SPOUSEID
else
return @CONSTITUENTID
end
end
return @CONSTITUENTID;
end