USP_MKTEXPORTDEFINITION_GETAVAILABLERECORDSOURCES
Returns a list of available record sources for an export definition.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@MAILINGTYPECODE | tinyint | IN | |
@SEGMENTATIONID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.[USP_MKTEXPORTDEFINITION_GETAVAILABLERECORDSOURCES]
(
@MAILINGTYPECODE tinyint,
@SEGMENTATIONID uniqueidentifier = null
)
as
set nocount on;
/* when retrieving record sources for an appeal export definition: */
/* get all available record source query views: if a consolidated query view exists for a */
/* record source, then return it, else return the original query view; if a mailingID is specified */
/* only return distinct sources against which the mailing was activated */
/* when retrieving record sources for an acknowledgement/membership export definition: */
/* do the same, but do not take the consolidated query view into account */
declare @MAILINGRECORDSOURCES table ([ID] uniqueidentifier primary key);
if @SEGMENTATIONID is not null
begin
insert into @MAILINGRECORDSOURCES
select
case when @MAILINGTYPECODE = 0 -- Appeal
then isnull([MKTCONSOLIDATEDQUERYVIEWSPEC].[CONSOLIDATEDQUERYVIEWCATALOGID], [RS].[QUERYVIEWCATALOGID])
else [RS].[QUERYVIEWCATALOGID]
end as [QUERYVIEWCATALOGID]
from
dbo.[UFN_MKTSEGMENTATION_GETDISTINCTRECORDSOURCES](@SEGMENTATIONID) [RS]
left outer join
dbo.[MKTCONSOLIDATEDQUERYVIEWSPEC]
on
[MKTCONSOLIDATEDQUERYVIEWSPEC].[ID] = [RS].[QUERYVIEWCATALOGID]
end
select
[DQVC].[ID] as [DONORQUERYVIEWID],
[DQVC].[DISPLAYNAME] as [DONORQUERYVIEWNAME],
[GQVC].[ID] as [REVENUEQUERYVIEWID],
[GQVC].[DISPLAYNAME] as [REVENUEQUERYVIEWNAME],
[MQVC].[ID] as [MEMBERSHIPQUERYVIEWID],
[MQVC].[DISPLAYNAME] as [MEMBERSHIPQUERYVIEWNAME],
[SQVC].[ID] as [SPONSORSHIPQUERYVIEWID],
[SQVC].[DISPLAYNAME] as [SPONSORSHIPQUERYVIEWNAME]
from
dbo.[MKTRECORDSOURCE] [DRS]
left outer join
dbo.[MKTCONSOLIDATEDQUERYVIEWSPEC]
on
[MKTCONSOLIDATEDQUERYVIEWSPEC].[ID] = [DRS].[ID]
inner join
dbo.[QUERYVIEWCATALOG] [DQVC]
on
[DQVC].[ID] = case when @MAILINGTYPECODE = 0 -- Appeal
then isnull([MKTCONSOLIDATEDQUERYVIEWSPEC].[CONSOLIDATEDQUERYVIEWCATALOGID], [DRS].[ID])
else [DRS].[ID]
end
inner join
dbo.[MKTGIFTRECORDSOURCE] [GRS]
on
[GRS].[ID] = [DRS].[ID]
inner join
dbo.[QUERYVIEWCATALOG] [GQVC]
on
[GQVC].[ID] = [GRS].[QUERYVIEWCATALOGID]
left outer join
dbo.[MKTMEMBERSHIPRECORDSOURCE] [MRS]
on
[MRS].[ID] = [DRS].[ID]
left outer join
dbo.[QUERYVIEWCATALOG] [MQVC]
on
[MQVC].[ID] = [MRS].[QUERYVIEWCATALOGID]
left outer join
dbo.[MKTSPONSORSHIPRECORDSOURCE] [SRS]
on
[SRS].[ID] = [DRS].[ID]
left outer join
dbo.[QUERYVIEWCATALOG] [SQVC]
on
[SQVC].[ID] = [SRS].[QUERYVIEWCATALOGID]
where (
(@SEGMENTATIONID is null
or
[DQVC].[ID] in (select [ID] from @MAILINGRECORDSOURCES))
and
(dbo.[UFN_MKTRECORDSOURCE_VALIDFORPRODUCT]([DQVC].[ID]) = 1)
)
order by
[DQVC].[DISPLAYNAME];
return 0;