USP_DATALIST_APPEALMAILINGSELECTIONSBYQUERYFOLDER
Retrieves the selections for the given query folder which are associated with a current appeal mailing.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@FOLDERID | uniqueidentifier | IN | Folder ID |
@RECORDTYPEID | uniqueidentifier | IN | Record type ID |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@IDSETTOEXCLUDE | uniqueidentifier | IN | ID set to exclude |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_APPEALMAILINGSELECTIONSBYQUERYFOLDER
(
@FOLDERID uniqueidentifier,
@RECORDTYPEID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier,
@IDSETTOEXCLUDE uniqueidentifier = null
)
as
set nocount on;
set @FOLDERID = isnull(@FOLDERID,'00000000-0000-0000-0000-000000000000')
declare @RESULTS table
(
ID uniqueidentifier,
NAME nvarchar(300),
TYPECODE integer
)
insert into @RESULTS (ID, NAME, TYPECODE)
select
ID,
NAME,
0
from
dbo.UFN_ADHOCQUERYFOLDERS_GETUSERSFOLDERS(@CURRENTAPPUSERID)
where
isnull(PARENTFOLDERID,'00000000-0000-0000-0000-000000000000') = @FOLDERID
order by
DISPLAYORDER;
insert into @RESULTS (ID, NAME, TYPECODE)
select distinct
IDSETREGISTER.ID,
IDSETREGISTER.NAME,
1 as TYPE
from
dbo.IDSETREGISTER
left outer join dbo.IDSETREGISTERADHOCQUERY on IDSETREGISTER.ID = IDSETREGISTERADHOCQUERY.IDSETREGISTERID
left outer join dbo.ADHOCQUERY on IDSETREGISTERADHOCQUERY.ADHOCQUERYID = ADHOCQUERY.ID
-- Filter by appeal mailing
inner join
dbo.MKTSEGMENTSELECTION on MKTSEGMENTSELECTION.SELECTIONID = IDSETREGISTER.ID
inner join
dbo.MKTSEGMENT on MKTSEGMENT.ID = MKTSEGMENTSELECTION.SEGMENTID
inner join
dbo.MKTSEGMENTATIONSEGMENT on MKTSEGMENTATIONSEGMENT.SEGMENTID = MKTSEGMENT.ID
inner join
dbo.MKTSEGMENTATION on MKTSEGMENTATION.ID = MKTSEGMENTATIONSEGMENT.SEGMENTATIONID
inner join
dbo.APPEALMAILING on APPEALMAILING.ID = MKTSEGMENTATION.ID
where
IDSETREGISTER.ACTIVE = 1 and
IDSETREGISTER.ISSYSTEM = 0 and
IDSETREGISTER.DBOBJECTNAME not in(select SQLFUNCTIONCATALOG.FUNCTIONNAME from dbo.SQLFUNCTIONCATALOG) and
GROUPNAME is null and
ISNULL(ADHOCQUERY.FOLDERID,'00000000-0000-0000-0000-000000000000') = @FOLDERID and
IDSETREGISTER.RECORDTYPEID = @RECORDTYPEID and
IDSETREGISTER.ID not in (select IDSETREGISTERID from dbo.IDSETREGISTERMERGE) and
IDSETREGISTER.ID <> isnull(@IDSETTOEXCLUDE,'00000000-0000-0000-0000-000000000000') and
-- Appeal mailings for this year and next year
(MKTSEGMENTATION.MAILDATE is not null) and
(year(MKTSEGMENTATION.MAILDATE) between year(getdate()) and (year(getdate()) + 1))
union
select distinct
IDSETREGISTER.ID,
IDSETREGISTER.NAME,
1 as TYPE
from
dbo.IDSETREGISTER
left outer join dbo.IDSETREGISTERADHOCQUERY on IDSETREGISTER.ID = IDSETREGISTERADHOCQUERY.IDSETREGISTERID
left outer join dbo.ADHOCQUERY on IDSETREGISTERADHOCQUERY.ADHOCQUERYID = ADHOCQUERY.ID
-- For appeal mailings not yet started
inner join
APPEALMAILINGSETUPSELECTION on APPEALMAILINGSETUPSELECTION.SELECTIONID = IDSETREGISTER.ID
inner join
APPEALMAILINGSETUP on APPEALMAILINGSETUP.ID = APPEALMAILINGSETUPSELECTION.APPEALMAILINGSETUPID
inner join
MKTSEGMENTATION on MKTSEGMENTATION.ID = APPEALMAILINGSETUP.ID
where
IDSETREGISTER.ACTIVE = 1 and
IDSETREGISTER.DBOBJECTNAME not in(select SQLFUNCTIONCATALOG.FUNCTIONNAME from dbo.SQLFUNCTIONCATALOG) and
GROUPNAME is null and
ISNULL(ADHOCQUERY.FOLDERID,'00000000-0000-0000-0000-000000000000') = @FOLDERID and
IDSETREGISTER.RECORDTYPEID = @RECORDTYPEID and
IDSETREGISTER.ID not in (select IDSETREGISTERID from dbo.IDSETREGISTERMERGE) and
IDSETREGISTER.ID <> isnull(@IDSETTOEXCLUDE,'00000000-0000-0000-0000-000000000000') and
-- Appeal mailings for this year and next year
(MKTSEGMENTATION.MAILDATE is not null) and
(year(MKTSEGMENTATION.MAILDATE) between year(getdate()) and (year(getdate()) + 1))
ORDER BY
3,2;
select
ID,
NAME,
TYPECODE
from
@RESULTS;