USP_DATALIST_PROSPECTOPPORTUNITY_CAMPAIGN
A datalist of campaigns for a given opportunity.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@PROSPECTID | uniqueidentifier | IN | Input parameter indicating the context ID for the data list. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@TYPEID | uniqueidentifier | IN | Opportunity type |
@STATUS | tinyint | IN | Opportunity status |
@SITEFILTERMODE | tinyint | IN | Sites |
@SITESSELECTED | xml | IN | |
@SECURITYFEATUREID | uniqueidentifier | IN | Input parameter indicating the ID of the feature to use for site security checking. |
@SECURITYFEATURETYPE | tinyint | IN | Input parameter indicating the type of the feature to use for site security checking. |
Definition
Copy
CREATE procedure dbo.USP_DATALIST_PROSPECTOPPORTUNITY_CAMPAIGN
(
@PROSPECTID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier,
@TYPEID uniqueidentifier = null,
@STATUS tinyint = null,
@SITEFILTERMODE tinyint = 0,
@SITESSELECTED xml = null,
@SECURITYFEATUREID uniqueidentifier = null,
@SECURITYFEATURETYPE tinyint = null
)
as begin
select
OPPORTUNITYCAMPAIGN.ID,
CAMPAIGN.ID as CAMPAIGNID,
CAMPAIGN.USERID as CAMPAIGNNAME,
CAMPAIGN.ENDDATE as CAMPAIGNENDDATE,
PROSPECTPLAN.NAME as PLANNAME,
dbo.UFN_PROSPECTPLANSTATUSCODE_GETDESCRIPTION(PROSPECTPLAN.PROSPECTPLANSTATUSCODEID) as PLANSTAGE,
dbo.UFN_PROSPECTPLAN_GETSITELIST(PROSPECTPLAN.ID) as PLANSITES,
OPPORTUNITY.ID as OPPORTUNITYID,
OPPORTUNITY.STATUS as OPPORTUNITYSTATUS,
OPPORTUNITYTYPECODE.DESCRIPTION as OPPORTUNITYTYPE,
OPPORTUNITY.AMOUNT as OPPORTUNITYAMOUNT,
OPPORTUNITY.BASECURRENCYID
from
dbo.OPPORTUNITYCAMPAIGN
inner join dbo.CAMPAIGN on CAMPAIGN.ID = OPPORTUNITYCAMPAIGN.CAMPAIGNID
inner join dbo.OPPORTUNITY on OPPORTUNITY.ID = OPPORTUNITYCAMPAIGN.OPPORTUNITYID
inner join dbo.PROSPECTPLAN on PROSPECTPLAN.ID = OPPORTUNITY.PROSPECTPLANID
left join dbo.OPPORTUNITYTYPECODE on OPPORTUNITYTYPECODE.ID = OPPORTUNITY.OPPORTUNITYTYPECODEID
where
PROSPECTPLAN.PROSPECTID=@PROSPECTID
and (@STATUS is null or @STATUS=OPPORTUNITY.STATUSCODE)
and (@TYPEID is null or OPPORTUNITYTYPECODE.ID=@TYPEID)
and (
select count(*)
from dbo.UFN_SITEID_MAPFROM_PROSPECTPLANID(PROSPECTPLAN.ID) as PROSPECTPLANSITE
where (dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1 or exists (select 1 from dbo.UFN_SITESFORUSERONFEATURE(@CURRENTAPPUSERID,@SECURITYFEATUREID,@SECURITYFEATURETYPE) where SITEID=[PROSPECTPLANSITE].[SITEID] or (SITEID is null and [PROSPECTPLANSITE].[SITEID] is null)))
) > 0
and (
@SITEFILTERMODE = 0
or PROSPECTPLAN.ID in (
select PROSPECTPLANSITE.PROSPECTPLANID
from dbo.UFN_SITE_BUILDDATALISTSITEFILTER (@CURRENTAPPUSERID, @SITEFILTERMODE, @SITESSELECTED) SITEFILTER
inner join dbo.PROSPECTPLANSITE on PROSPECTPLANSITE.SITEID = SITEFILTER.SITEID
)
)
order by
CAMPAIGN.USERID,
PROSPECTPLAN.NAME,dbo.UFN_PROSPECTPLANSTATUSCODE_GETDESCRIPTION(PROSPECTPLAN.PROSPECTPLANSTATUSCODEID),
OPPORTUNITY.STATUS,OPPORTUNITYTYPECODE.DESCRIPTION,OPPORTUNITY.ASKAMOUNT
end