USP_DATAFORMTEMPLATE_ADD_CONSTITUENTLETTER_PRELOAD
The load procedure used by the edit dataform template "Constituent Letter Add Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@INCOMINGID | nvarchar(37) | IN | Input parameter indicating the context ID for the record being added. |
@ADDRESSID | uniqueidentifier | INOUT | Address |
@PARAMETERID | nvarchar(37) | INOUT | |
@CONSTITUENTID | uniqueidentifier | INOUT | |
@RELATIONSHIPCONSTITUENTID | uniqueidentifier | INOUT | |
@ADDRESSES | xml | INOUT | |
@MAILDATE | datetime | INOUT | Mail date |
@ORGNAME | nvarchar(154) | INOUT | |
@CONSTITUENTLOOKUPID | nvarchar(100) | INOUT | |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@SITEREQUIRED | bit | INOUT | Site required |
@SITES | xml | INOUT | Sites |
@FUNDRAISERID | uniqueidentifier | INOUT | |
@ADDRESSEENAMEFORMATID | uniqueidentifier | INOUT | |
@SALUTATIONNAMEFORMATID | uniqueidentifier | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_CONSTITUENTLETTER_PRELOAD
(
@INCOMINGID nvarchar(37),
@ADDRESSID uniqueidentifier = null output,
@PARAMETERID nvarchar(37) = null output,
@CONSTITUENTID uniqueidentifier = null output,
@RELATIONSHIPCONSTITUENTID uniqueidentifier = null output,
@ADDRESSES xml = null output,
@MAILDATE datetime = null output,
@ORGNAME nvarchar(154) = null output,
@CONSTITUENTLOOKUPID nvarchar(100) = null output,
@CURRENTAPPUSERID uniqueidentifier = null,
@SITEREQUIRED bit = null output,
@SITES xml = null output,
@FUNDRAISERID uniqueidentifier = null output,
@ADDRESSEENAMEFORMATID uniqueidentifier = null output,
@SALUTATIONNAMEFORMATID uniqueidentifier = null output
)
as
set nocount on;
declare @ID uniqueidentifier;
declare @TYPE tinyint;
declare @RELATIONSHIPID uniqueidentifier;
set @ID = substring(@INCOMINGID,1,36);
set @TYPE = substring(@INCOMINGID,37,1)
if @TYPE = 0
begin
select
@ADDRESSID = ID,
@CONSTITUENTID = CONSTITUENTID
from dbo.ADDRESS
where
ID = @ID;
end
if @TYPE = 1
begin
select
@CONSTITUENTID = CONSTITUENT.ID,
@ADDRESSID = case ADDRESS.DONOTMAIL when 0 then ADDRESS.ID else null end
from
dbo.CONSTITUENT
left join dbo.ADDRESS on ADDRESS.CONSTITUENTID = CONSTITUENT.ID and ADDRESS.ISPRIMARY = 1
where
CONSTITUENT.ID = @ID;
end
if @TYPE = 2
begin
select
@RELATIONSHIPID = RELATIONSHIP.ID,
@CONSTITUENTID = RELATIONSHIP.RECIPROCALCONSTITUENTID,
@RELATIONSHIPCONSTITUENTID = RELATIONSHIP.RELATIONSHIPCONSTITUENTID,
@ADDRESSID = coalesce(ADDRESS.ID, A2.ID),
@ORGNAME = CONSTITUENT.NAME
from
dbo.RELATIONSHIP
inner join dbo.CONSTITUENT on CONSTITUENT.ID = RELATIONSHIP.RELATIONSHIPCONSTITUENTID
left join dbo.ADDRESS on ADDRESS.RELATIONSHIPID = RELATIONSHIP.ID
left join dbo.ADDRESS A2 on A2.CONSTITUENTID = CONSTITUENT.ID
where
RELATIONSHIP.ID = @ID
order by
A2.ISPRIMARY;
end
select @CONSTITUENTLOOKUPID = LOOKUPID from dbo.CONSTITUENT where ID = @CONSTITUENTID;
set @PARAMETERID = @INCOMINGID;
set @ADDRESSES = dbo.UFN_CONSTITUENT_GETADDRESSES_STATEDESC_TOITEMLISTXML(@INCOMINGID);
set @MAILDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
set @SITEREQUIRED = dbo.UFN_SITEREQUIREDFORUSER(@CURRENTAPPUSERID)
declare @USERSITEID uniqueidentifier = dbo.UFN_APPUSER_DEFAULTSITEFORUSER(@CURRENTAPPUSERID)
if @USERSITEID is not null
begin
set @SITES = (
select newid() ID, @USERSITEID SITEID
for xml raw('ITEM'),type,elements,root('SITES'),BINARY BASE64
)
end
select
@FUNDRAISERID = CONSTITUENTID
from
dbo.APPUSER
where
ID = @CURRENTAPPUSERID;
exec dbo.USP_CONSTITUENTNAMEFORMATS_GETDEFAULTADDRESSEE
@CONSTITUENTID,
@CURRENTAPPUSERID,
@ADDRESSEENAMEFORMATID output,
@SALUTATIONNAMEFORMATID output;
return 0;