USP_DATAFORMTEMPLATE_VIEW_OPPORTUNITY
The load procedure used by the view dataform template "Opportunity View Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@PROSPECTPLANSTAGE | nvarchar(100) | INOUT | Current stage |
@PROSPECTMANAGERFUNDRAISERID | uniqueidentifier | INOUT | PROSPECTMANAGERFUNDRAISERID |
@PRIMARYMANAGERFUNDRAISERID | uniqueidentifier | INOUT | PRIMARYMANAGERFUNDRAISERID |
@SECONDARYMANAGERFUNDRAISERID | uniqueidentifier | INOUT | SECONDARYMANAGERFUNDRAISERID |
@PROSPECTMANAGER | nvarchar(154) | INOUT | Prospect manager |
@PRIMARYMANAGER | nvarchar(154) | INOUT | Primary manager |
@SECONDARYMANAGER | nvarchar(154) | INOUT | Secondary manager |
@ADDRESS | nvarchar(300) | INOUT | Address |
@PHONE | nvarchar(100) | INOUT | Phone number |
UDT_EMAILADDRESS | INOUT | Email address | |
@URL | UDT_WEBADDRESS | INOUT | Web address |
@COMMENT | nvarchar(max) | INOUT | Comment |
@STATUS | nvarchar(100) | INOUT | Status |
@EXPECTEDASKAMOUNT | money | INOUT | Expected ask amount |
@ASKAMOUNT | money | INOUT | Actual ask amount |
@ACCEPTEDAMOUNT | money | INOUT | Accepted amount |
@EXPECTEDASKDATE | datetime | INOUT | Expected ask date |
@ASKDATE | datetime | INOUT | Actual ask date |
@RESPONSEDATE | datetime | INOUT | Response date |
@TOTALPAIDAMOUNT | money | INOUT | Total paid amount |
@LIKELIHOODTYPECODE | nvarchar(100) | INOUT | Likelihood |
@OPPORTUNITYTYPE | nvarchar(100) | INOUT | Opportunity type |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_OPPORTUNITY (
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@PROSPECTPLANSTAGE nvarchar(100) = null output,
@PROSPECTMANAGERFUNDRAISERID uniqueidentifier = null output,
@PRIMARYMANAGERFUNDRAISERID uniqueidentifier = null output,
@SECONDARYMANAGERFUNDRAISERID uniqueidentifier = null output,
@PROSPECTMANAGER nvarchar(154) = null output,
@PRIMARYMANAGER nvarchar(154) = null output,
@SECONDARYMANAGER nvarchar(154) = null output,
@ADDRESS nvarchar(300) = null output,
@PHONE nvarchar(100) = null output,
@EMAIL dbo.UDT_EMAILADDRESS = null output,
@URL dbo.UDT_WEBADDRESS = null output,
@COMMENT nvarchar(max) = null output,
@STATUS nvarchar(100) = null output,
@EXPECTEDASKAMOUNT money = null output,
@ASKAMOUNT money = null output,
@ACCEPTEDAMOUNT money = null output,
@EXPECTEDASKDATE datetime = null output,
@ASKDATE datetime = null output,
@RESPONSEDATE datetime = null output,
@TOTALPAIDAMOUNT money = null output,
@LIKELIHOODTYPECODE nvarchar(100) = null output,
@OPPORTUNITYTYPE nvarchar(100) = null output
) as begin
set nocount on;
set @DATALOADED = 0;
select
@DATALOADED = 1,
@PROSPECTPLANSTAGE = dbo.UFN_PROSPECTPLANSTATUSCODE_GETDESCRIPTION(PP.PROSPECTPLANSTATUSCODEID),
@PROSPECTMANAGERFUNDRAISERID = PROSPECTMANAGER.ID,
@PRIMARYMANAGERFUNDRAISERID = PM.ID,
@SECONDARYMANAGERFUNDRAISERID = PF.ID,
@PROSPECTMANAGER = PROSPECTMANAGER.NAME,
@PRIMARYMANAGER = PM.NAME,
@SECONDARYMANAGER = PF.NAME,
@ADDRESS = dbo.UFN_BUILDFULLADDRESS(A.ID, A.ADDRESSBLOCK, A.CITY, A.STATEID, A.POSTCODE, A.COUNTRYID),
@PHONE = PH.NUMBER,
@EMAIL = E.EMAILADDRESS,
@URL = PC.WEBADDRESS,
@COMMENT = O.COMMENT,
@STATUS = O.STATUS,
@EXPECTEDASKAMOUNT = O.EXPECTEDASKAMOUNT,
@ASKAMOUNT = O.ASKAMOUNT,
@ACCEPTEDAMOUNT = case O.STATUSCODE when 3 then O.AMOUNT else 0 end,
@EXPECTEDASKDATE = O.EXPECTEDASKDATE,
@ASKDATE = O.ASKDATE,
@RESPONSEDATE = O.RESPONSEDATE,
@LIKELIHOODTYPECODE = dbo.UFN_LIKELIHOODTYPECODE_GETDESCRIPTION(O.LIKELIHOODTYPECODEID),
@OPPORTUNITYTYPE = dbo.UFN_OPPORTUNITYTYPECODE_GETDESCRIPTION(O.OPPORTUNITYTYPECODEID)
from
dbo.OPPORTUNITY O
inner join dbo.PROSPECTPLAN PP on PP.ID=O.PROSPECTPLANID
left outer join dbo.PROSPECT P on P.ID=PP.PROSPECTID
left outer join dbo.CONSTITUENT PROSPECTMANAGER on PROSPECTMANAGER.ID=P.PROSPECTMANAGERFUNDRAISERID
left outer join dbo.CONSTITUENT PM on PM.ID=PP.PRIMARYMANAGERFUNDRAISERID
left outer join dbo.CONSTITUENT PF on PF.ID=PP.SECONDARYMANAGERFUNDRAISERID
left outer join dbo.CONSTITUENT PC on PC.ID=PP.PROSPECTID
left outer join dbo.ADDRESS A on A.CONSTITUENTID = PC.ID and A.ISPRIMARY = 1
left outer join dbo.PHONE PH on PH.CONSTITUENTID = PC.ID and PH.ISPRIMARY = 1
left outer join dbo.EMAILADDRESS E on E.CONSTITUENTID = PC.ID and E.ISPRIMARY = 1
where
O.ID=@ID;
set @TOTALPAIDAMOUNT = dbo.UFN_OPPORTUNITY_GETAMOUNTPAID(@ID);
return 0;
end