USP_PROSPECTPLAN_GETOPPORTUNITYSUMMARY
Parameters
| Parameter | Parameter Type | Mode | Description |
|---|---|---|---|
| @PROSPECTPLANID | uniqueidentifier | IN | |
| @UNQUALIFIEDCOUNT | int | INOUT | |
| @UNQUALIFIEDAMOUNT | money | INOUT | |
| @QUALIFIEDCOUNT | int | INOUT | |
| @QUALIFIEDAMOUNT | money | INOUT | |
| @RESPONSEPENDINGCOUNT | int | INOUT | |
| @RESPONSEPENDINGAMOUNT | money | INOUT | |
| @ACCEPTEDCOUNT | int | INOUT | |
| @ACCEPTEDAMOUNT | money | INOUT | |
| @REJECTEDCOUNT | int | INOUT | |
| @REJECTEDAMOUNT | money | INOUT | |
| @CANCELEDCOUNT | int | INOUT | |
| @CANCELEDAMOUNT | money | INOUT | |
| @UNQUALIFIEDID | uniqueidentifier | INOUT | |
| @QUALIFIEDID | uniqueidentifier | INOUT | |
| @RESPONSEPENDINGID | uniqueidentifier | INOUT | |
| @ACCEPTEDID | uniqueidentifier | INOUT | |
| @REJECTEDID | uniqueidentifier | INOUT | |
| @CANCELEDID | uniqueidentifier | INOUT |
Definition
Copy
create procedure dbo.USP_PROSPECTPLAN_GETOPPORTUNITYSUMMARY(
@PROSPECTPLANID uniqueidentifier,
@UNQUALIFIEDCOUNT int = 0 output,
@UNQUALIFIEDAMOUNT money = 0 output,
@QUALIFIEDCOUNT int = 0 output,
@QUALIFIEDAMOUNT money = 0 output,
@RESPONSEPENDINGCOUNT int = 0 output,
@RESPONSEPENDINGAMOUNT money = 0 output,
@ACCEPTEDCOUNT int = 0 output,
@ACCEPTEDAMOUNT money = 0 output,
@REJECTEDCOUNT int = 0 output,
@REJECTEDAMOUNT money = 0 output,
@CANCELEDCOUNT int = 0 output,
@CANCELEDAMOUNT money = 0 output,
@UNQUALIFIEDID uniqueidentifier = null output,
@QUALIFIEDID uniqueidentifier = null output,
@RESPONSEPENDINGID uniqueidentifier = null output,
@ACCEPTEDID uniqueidentifier = null output,
@REJECTEDID uniqueidentifier = null output,
@CANCELEDID uniqueidentifier = null output
)
as
begin
set nocount on;
-- Get unqualified opportunity ask
select
@UNQUALIFIEDCOUNT = count(*),
@UNQUALIFIEDAMOUNT = coalesce(sum(AMOUNT), 0)
from OPPORTUNITY
where PROSPECTPLANID = @PROSPECTPLANID
and STATUSCODE = 0
-- Get qualified opportunity ask
select
@QUALIFIEDCOUNT = count(*),
@QUALIFIEDAMOUNT = coalesce(sum(AMOUNT), 0)
from OPPORTUNITY
where PROSPECTPLANID = @PROSPECTPLANID
and STATUSCODE = 1
-- Get response pending opportunity ask
select
@RESPONSEPENDINGCOUNT = count(*),
@RESPONSEPENDINGAMOUNT = coalesce(sum(AMOUNT), 0)
from OPPORTUNITY
where PROSPECTPLANID = @PROSPECTPLANID
and STATUSCODE = 2
-- Get accepted opportunity ask
select
@ACCEPTEDCOUNT = count(ID),
@ACCEPTEDAMOUNT = coalesce(sum(AMOUNT), 0)
from OPPORTUNITY
where PROSPECTPLANID = @PROSPECTPLANID
and STATUSCODE = 3
-- Get rejected opportunity ask
select
@REJECTEDCOUNT = count(ID),
@REJECTEDAMOUNT = coalesce(sum(AMOUNT), 0)
from OPPORTUNITY
where PROSPECTPLANID = @PROSPECTPLANID
and STATUSCODE = 4
-- Get canceled opportunity ask
select
@CANCELEDCOUNT = count(*),
@CANCELEDAMOUNT = coalesce(sum(AMOUNT), 0)
from OPPORTUNITY
where PROSPECTPLANID = @PROSPECTPLANID
and STATUSCODE = 5
-- Get opportunity ids only if single opportunity exists of that status
if(@UNQUALIFIEDCOUNT = 1)
select
@UNQUALIFIEDID = ID
from OPPORTUNITY
where PROSPECTPLANID = @PROSPECTPLANID
and STATUSCODE = 0
if(@QUALIFIEDCOUNT = 1)
select
@QUALIFIEDID = ID
from OPPORTUNITY
where PROSPECTPLANID = @PROSPECTPLANID
and STATUSCODE = 1
if(@RESPONSEPENDINGCOUNT = 1)
select
@RESPONSEPENDINGID = ID
from OPPORTUNITY
where PROSPECTPLANID = @PROSPECTPLANID
and STATUSCODE = 2
if(@ACCEPTEDCOUNT = 1)
select
@ACCEPTEDID = ID
from OPPORTUNITY
where PROSPECTPLANID = @PROSPECTPLANID
and STATUSCODE = 3
if(@REJECTEDCOUNT = 1)
select
@REJECTEDID = ID
from OPPORTUNITY
where PROSPECTPLANID = @PROSPECTPLANID
and STATUSCODE = 4
if(@CANCELEDCOUNT = 1)
select
@CANCELEDID = ID
from OPPORTUNITY
where PROSPECTPLANID = @PROSPECTPLANID
and STATUSCODE = 5
return 0;
end