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;