USP_DATAFORMTEMPLATE_VIEW_CONSTITUENTCONTACTINFO
The load procedure used by the view dataform template "Constituent Contact Info View 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. |
@NAME | nvarchar(154) | INOUT | NAME |
@PHONENUMBER | nvarchar(100) | INOUT | PHONENUMBER |
@EMAILADDRESS | nvarchar(100) | INOUT | EMAILADDRESS |
@ADDRESS | nvarchar(300) | INOUT | ADDRESS |
@ISORGANIZATION | bit | INOUT | ISORGANIZATION |
@KEYNAME | nvarchar(100) | INOUT | KEYNAME |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_CONSTITUENTCONTACTINFO
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@NAME nvarchar(154) = null output,
@PHONENUMBER nvarchar(100) = null output,
@EMAILADDRESS nvarchar(100) = null output,
@ADDRESS nvarchar(300) = null output,
@ISORGANIZATION bit = null output,
@KEYNAME nvarchar(100) = null output
)
as
set nocount on;
declare @ISGROUP bit;
declare @CONTACTCONSTITUENTID uniqueidentifier;
declare @GROUPKEYNAME nvarchar(100);
set @DATALOADED = 0;
select
@DATALOADED = 1,
@ISGROUP = ISGROUP,
@ISORGANIZATION = ISORGANIZATION
from
dbo.CONSTITUENT
where
ID = @ID;
if @DATALOADED = 1
begin
if @ISGROUP = 1
begin
select @CONTACTCONSTITUENTID = MEMBERID from dbo.GROUPMEMBER where GROUPID = @ID and ISPRIMARY = 1;
select @GROUPKEYNAME = KEYNAME from dbo.CONSTITUENT where ID = @ID
end
else
set @CONTACTCONSTITUENTID = @ID;
select
@NAME = CONSTITUENT.NAME,
@PHONENUMBER = PHONE.NUMBER,
@EMAILADDRESS = EMAILADDRESS.EMAILADDRESS,
@ADDRESS = dbo.UFN_BUILDFULLADDRESS(ADDRESS.ID, ADDRESS.ADDRESSBLOCK, ADDRESS.CITY, ADDRESS.STATEID, ADDRESS.POSTCODE, ADDRESS.COUNTRYID),
@KEYNAME = CONSTITUENT.KEYNAME
from
dbo.CONSTITUENT
left outer join
dbo.PHONE on CONSTITUENT.ID = PHONE.CONSTITUENTID and PHONE.ISPRIMARY = 1
left outer join
dbo.EMAILADDRESS on CONSTITUENT.ID = EMAILADDRESS.CONSTITUENTID and EMAILADDRESS.ISPRIMARY = 1
left outer join
dbo.ADDRESS on CONSTITUENT.ID = ADDRESS.CONSTITUENTID and ADDRESS.ISPRIMARY = 1
where
CONSTITUENT.ID = @CONTACTCONSTITUENTID;
if @GROUPKEYNAME is not null
set @KEYNAME = @GROUPKEYNAME
end
return 0;