USP_DATALIST_MKTMARKETINGPLANITEMS
Displays a list of the active marketing plan items.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@BUDGET | tinyint | IN | Budget |
@REVENUE | tinyint | IN | Revenue |
@QUANTITY | tinyint | IN | Quantity |
@CURRENCYCODE | tinyint | IN | Currency |
Definition
Copy
CREATE procedure dbo.[USP_DATALIST_MKTMARKETINGPLANITEMS]
(
@ID uniqueidentifier,
@BUDGET tinyint = null,
@REVENUE tinyint = null,
@QUANTITY tinyint = null,
@CURRENCYCODE tinyint = 0
)
as
set nocount on;
select
convert(nvarchar(36), [MPI].[ID]) + '|' + convert(nvarchar(1), @CURRENCYCODE) as [ID],
[MPI].[NAME],
[MPI].[STARTDATE],
[MPI].[ENDDATE],
[MPITI].[CAPTION],
[MPITI].[BACKCOLOR],
[MPITI].[FORECOLOR],
[MPITI].[CAPTIONCOLOR],
[MPITI].[LEVEL],
[MKTPLANITEMCATEGORYCODE].[DESCRIPTION] as [CATEGORY]
from dbo.[MKTMARKETINGPLANITEM] as [MPI]
left join dbo.[MKTMARKETINGPLANITEMTEMPLATEITEM] as [MPITI] on ([MPITI].[MARKETINGPLANID] = [MPI].[MARKETINGPLANID] and [MPITI].[LEVEL] = [MPI].[LEVEL])
left join dbo.[MKTPLANITEMCATEGORYCODE] on [MKTPLANITEMCATEGORYCODE].[ID] = [MPI].[PLANITEMCATEGORYCODEID]
where [MPI].[PARENTMARKETINGPLANITEMID] = @ID
and (
(@BUDGET = 0 and ((select [ALLOCATED] from dbo.[UFN_MKTMARKETINGPLANITEMBUDGET]([MPI].[ID])) > (select [SPECIFIED] from dbo.[UFN_MKTMARKETINGPLANITEMBUDGET]([MPI].[ID]))))
or
(@BUDGET = 1 and ((select [ALLOCATED] from dbo.[UFN_MKTMARKETINGPLANITEMBUDGET]([MPI].[ID])) < (select [SPECIFIED] from dbo.[UFN_MKTMARKETINGPLANITEMBUDGET]([MPI].[ID]))))
or
@BUDGET is null
)
and (
(@REVENUE = 0 and (coalesce((select sum([TOTALREVENUEGOAL]) from dbo.[MKTMARKETINGPLANITEM] as [MPI] where [MPI].[PARENTMARKETINGPLANITEMID] = [MPI].[ID]), 0) + coalesce((select sum([TOTALREVENUEGOAL]) from dbo.[MKTMARKETINGPLANBRIEF] as [MPB] where [MPB].[MARKETINGPLANITEMID] = [MPI].[ID]), 0)) > ([MPI].[TOTALREVENUEGOAL]))
or
(@REVENUE = 1 and (coalesce((select sum([TOTALREVENUEGOAL]) from dbo.[MKTMARKETINGPLANITEM] as [MPI] where [MPI].[PARENTMARKETINGPLANITEMID] = [MPI].[ID]), 0) + coalesce((select sum([TOTALREVENUEGOAL]) from dbo.[MKTMARKETINGPLANBRIEF] as [MPB] where [MPB].[MARKETINGPLANITEMID] = [MPI].[ID]), 0)) < ([MPI].[TOTALREVENUEGOAL]))
or
@REVENUE is null
)
and (
(@QUANTITY = 0 and (coalesce((select sum([QUANTITY]) from dbo.[MKTMARKETINGPLANITEM] as [MPI] where [MPI].[PARENTMARKETINGPLANITEMID] = [MPI].[ID]), 0) + coalesce((select sum([QUANTITY]) from dbo.[MKTMARKETINGPLANBRIEF] as [MPB] where [MPB].[MARKETINGPLANITEMID] = [MPI].[ID]), 0)) > ([MPI].QUANTITY))
or
(@QUANTITY = 1 and (coalesce((select sum([QUANTITY]) from dbo.[MKTMARKETINGPLANITEM] as [MPI] where [MPI].[PARENTMARKETINGPLANITEMID] = [MPI].[ID]), 0) + coalesce((select sum([QUANTITY]) from dbo.[MKTMARKETINGPLANBRIEF] as [MPB] where [MPB].[MARKETINGPLANITEMID] = [MPI].[ID]), 0)) < ([MPI].QUANTITY))
or
@QUANTITY is null
)
order by [MPI].[STARTDATE], [MPI].[NAME];
return 0;