USP_DATALIST_REVENUEDEFAULTCAMPAIGN
Returns a list of default campaigns.
Parameters
| Parameter | Parameter Type | Mode | Description | 
|---|---|---|---|
| @DESIGNATIONID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. | 
| @OPPORTUNITYID | uniqueidentifier | IN | |
| @DATE | datetime | IN | 
Definition
 Copy 
                                    
CREATE procedure dbo.USP_DATALIST_REVENUEDEFAULTCAMPAIGN
(
  @DESIGNATIONID uniqueidentifier,
  @OPPORTUNITYID uniqueidentifier = null,
  @DATE datetime = null
)
as
  set nocount on;
  declare @RETVAL table (
    CAMPAIGNID uniqueidentifier, 
    CAMPAIGNSUBPRIORITYID uniqueidentifier
  );
  if @OPPORTUNITYID is not null
    begin
      insert into @RETVAL(CAMPAIGNID, CAMPAIGNSUBPRIORITYID)
        select distinct
          OPPORTUNITYDESIGNATIONCAMPAIGN.CAMPAIGNID,
          OPPORTUNITYDESIGNATIONCAMPAIGN.CAMPAIGNSUBPRIORITYID
        from dbo.OPPORTUNITYDESIGNATION
        inner join dbo.OPPORTUNITYDESIGNATIONCAMPAIGN on OPPORTUNITYDESIGNATION.ID = OPPORTUNITYDESIGNATIONCAMPAIGN.OPPORTUNITYDESIGNATIONID
        inner join dbo.CAMPAIGN on CAMPAIGN.ID=OPPORTUNITYDESIGNATIONCAMPAIGN.CAMPAIGNID
        where 
          OPPORTUNITYDESIGNATION.OPPORTUNITYID = @OPPORTUNITYID
          and OPPORTUNITYDESIGNATION.DESIGNATIONID = @DESIGNATIONID
          and CAMPAIGN.ISACTIVE = 1
          --The "GETEARLIESTTIME" date function has been inlined here for performance (the part with "cast(@DATE as date)")...
          and (CAMPAIGN.STARTDATE is null or cast(CAMPAIGN.STARTDATE as date) <= @DATE)
          --The "GETLATESTTIME" date function has been inlined here for performance (the part with "dateadd(ms, -003...")...
          and (CAMPAIGN.ENDDATE is null or dateadd(ms, -003, dateadd(d, 1, cast(cast(CAMPAIGN.ENDDATE as date) as datetime))) >= @DATE);
      insert into @RETVAL(CAMPAIGNID, CAMPAIGNSUBPRIORITYID)
        select distinct
          DESIGNATIONCAMPAIGN.CAMPAIGNID,
          DESIGNATIONCAMPAIGN.CAMPAIGNSUBPRIORITYID
        from dbo.DESIGNATIONCAMPAIGN
        inner join dbo.CAMPAIGN on CAMPAIGN.ID=DESIGNATIONCAMPAIGN.CAMPAIGNID
        where 
          DESIGNATIONCAMPAIGN.DESIGNATIONID = @DESIGNATIONID
          and    @DESIGNATIONID not in (select DESIGNATIONID from dbo.OPPORTUNITYDESIGNATION where OPPORTUNITYID = @OPPORTUNITYID)
          --The "GETEARLIESTTIME" date function has been inlined here for performance (the part with "cast(@DATE as date)")...
          and (DESIGNATIONCAMPAIGN.DATEFROM is null or cast(DESIGNATIONCAMPAIGN.DATEFROM as date) <= @DATE)
          --The "GETLATESTTIME" date function has been inlined here for performance (the part with "dateadd(ms, -003...")...
          and (DESIGNATIONCAMPAIGN.DATETO is null or dateadd(ms, -003, dateadd(d, 1, cast(cast(DESIGNATIONCAMPAIGN.DATETO as date) as datetime))) >= @DATE)
          --The "GETEARLIESTTIME" date function has been inlined here for performance (the part with "cast(@DATE as date)")...
          and (CAMPAIGN.STARTDATE is null or cast(CAMPAIGN.STARTDATE as date) <= @DATE)
          --The "GETLATESTTIME" date function has been inlined here for performance (the part with "dateadd(ms, -003...")...
          and (CAMPAIGN.ENDDATE is null or dateadd(ms, -003, dateadd(d, 1, cast(cast(CAMPAIGN.ENDDATE as date) as datetime))) >= @DATE)
          and CAMPAIGN.ISACTIVE = 1;
    end
  else
    insert into @RETVAL(CAMPAIGNID, CAMPAIGNSUBPRIORITYID)
      select
        CAMPAIGNID,
        CAMPAIGNSUBPRIORITYID
      from dbo.UFN_DESIGNATION_GETDEFAULTCAMPAIGNS(@DESIGNATIONID, @DATE);
  select
    a.CAMPAIGNID,
    CAMPAIGN.NAME as CAMPAIGN,
    a.CAMPAIGNSUBPRIORITYID,
    CAMPAIGNSUBPRIORITY.NAME as CAMPAIGNIDSUBPRIORITY
  from @RETVAL a
  inner join CAMPAIGN on CAMPAIGN.ID = CAMPAIGNID
  left outer join CAMPAIGNSUBPRIORITY on CAMPAIGNSUBPRIORITY.ID = CAMPAIGNSUBPRIORITYID;
  return 0;