USP_DATALIST_CONTEXTLESSAPPEALMAILING
Returns a list of all appeal mailings in the system.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ACTIVESTATUS | bit | IN | Status |
@MAILDATEFROM | datetime | IN | From |
@MAILDATETO | datetime | IN | To |
@SHOWUNSCHEDULED | bit | IN | Include mailings with no date |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_CONTEXTLESSAPPEALMAILING
(
@ACTIVESTATUS bit = null,
@MAILDATEFROM datetime = null,
@MAILDATETO datetime = null,
@SHOWUNSCHEDULED bit = 1
)
as
set nocount on;
select
[MKTSEGMENTATION].[ID],
[MKTSEGMENTATIONACTIVATEPROCESS].[ID] as [MKTSEGMENTATIONACTIVATEPROCESSID],
[MKTSEGMENTATION].[NAME],
[MKTSEGMENTATION].[DESCRIPTION],
[MKTSEGMENTATION].[MAILDATE],
[MKTSEGMENTATION].[ACTIVE],
[APPEAL].[NAME] [APPEALNAME],
[MKTPACKAGE].[NAME] [PACKAGE],
[APPEALMAILINGSELECTION].[NAME] [SELECTION],
[APPEAL].[BASECURRENCYID]
from dbo.APPEALMAILING
inner join dbo.MKTSEGMENTATION
on MKTSEGMENTATION.[ID] = APPEALMAILING.[ID]
left join dbo.MKTSEGMENTATIONACTIVATEPROCESS
on MKTSEGMENTATIONACTIVATEPROCESS.[SEGMENTATIONID] = MKTSEGMENTATION.[ID]
left join dbo.APPEAL
on APPEAL.ID = APPEALMAILING.APPEALID
left join dbo.[MKTSEGMENTATIONSEGMENT]
on [APPEALMAILING].[MKTSEGMENTATIONSEGMENTID] = [MKTSEGMENTATIONSEGMENT].[ID]
left join dbo.[MKTPACKAGE]
on [MKTSEGMENTATIONSEGMENT].[PACKAGEID] = [MKTPACKAGE].[ID]
left join dbo.[MKTSEGMENT]
on [MKTSEGMENTATIONSEGMENT].[SEGMENTID] = [MKTSEGMENT].[ID]
left outer join dbo.[MKTSEGMENTSELECTION]
on [MKTSEGMENTSELECTION].[SEGMENTID] = [MKTSEGMENTATIONSEGMENT].[SEGMENTID]
left outer join dbo.[IDSETREGISTER] as [APPEALMAILINGSELECTION]
on [APPEALMAILINGSELECTION].[ID] = [MKTSEGMENTSELECTION].[SELECTIONID]
where (@ACTIVESTATUS is null or @ACTIVESTATUS = [MKTSEGMENTATION].[ACTIVE])
and (@MAILDATEFROM is null or ([MKTSEGMENTATION].[MAILDATE] is not null and [MKTSEGMENTATION].[MAILDATE] >= @MAILDATEFROM) or (@SHOWUNSCHEDULED = 1 and [MKTSEGMENTATION].[MAILDATE] is null))
and (@MAILDATETO is null or ([MKTSEGMENTATION].[MAILDATE] is not null and [MKTSEGMENTATION].[MAILDATE] <= @MAILDATETO) or (@SHOWUNSCHEDULED = 1 and [MKTSEGMENTATION].[MAILDATE] is null))
and ((@SHOWUNSCHEDULED is null) or (@SHOWUNSCHEDULED = 1) or (@SHOWUNSCHEDULED = 0 and [MKTSEGMENTATION].[MAILDATE] is not null))
order by
[MKTSEGMENTATION].[MAILDATE] desc, [MKTSEGMENTATION].[NAME];
return 0;