USP_DATAFORMTEMPLATE_VIEW2_OPPORTUNITY
The load procedure used by the view dataform template "Opportunity View Form 2"
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 |
@PRIMARYMANAGERSTARTDATE | date | INOUT | Start date |
@SECONDARYMANAGERSTARTDATE | date | INOUT | Start date |
@PROSPECTMANAGERSTARTDATE | date | INOUT | Start date |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW2_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,
@PRIMARYMANAGERSTARTDATE date = null output,
@SECONDARYMANAGERSTARTDATE date = null output,
@PROSPECTMANAGERSTARTDATE date = null output
) as begin
set nocount on;
set @DATALOADED = 0;
declare @CURRENTDATEEARLIESTTIME datetime;
set @CURRENTDATEEARLIESTTIME = dbo.UFN_DATE_GETEARLIESTTIME(getdate());
--Don't select expired managers' details
select
@DATALOADED = 1,
@PROSPECTPLANSTAGE = dbo.UFN_PROSPECTPLANSTATUSCODE_GETDESCRIPTION(PP.PROSPECTPLANSTATUSCODEID),
@PROSPECTMANAGERFUNDRAISERID = case when P.PROSPECTMANAGERENDDATE < @CURRENTDATEEARLIESTTIME then null else P.PROSPECTMANAGERFUNDRAISERID end,
@PRIMARYMANAGERFUNDRAISERID = case when PP.PRIMARYMANAGERENDDATE < @CURRENTDATEEARLIESTTIME then null else PP.PRIMARYMANAGERFUNDRAISERID end,
@SECONDARYMANAGERFUNDRAISERID = case when PP.SECONDARYMANAGERENDDATE < @CURRENTDATEEARLIESTTIME then null else PP.SECONDARYMANAGERFUNDRAISERID end,
@PROSPECTMANAGER = case when P.PROSPECTMANAGERENDDATE < @CURRENTDATEEARLIESTTIME then null else NF_PROSPECTMANAGER.NAME end,
@PRIMARYMANAGER = case when PP.PRIMARYMANAGERENDDATE < @CURRENTDATEEARLIESTTIME then null else NF_PM.NAME end,
@SECONDARYMANAGER = case when PP.SECONDARYMANAGERENDDATE < @CURRENTDATEEARLIESTTIME then null else NF_PF.NAME end,
@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,
@PRIMARYMANAGERSTARTDATE = case when PP.PRIMARYMANAGERENDDATE < @CURRENTDATEEARLIESTTIME then null else PP.PRIMARYMANAGERSTARTDATE end,
@SECONDARYMANAGERSTARTDATE = case when PP.SECONDARYMANAGERENDDATE < @CURRENTDATEEARLIESTTIME then null else PP.SECONDARYMANAGERSTARTDATE end,
@PROSPECTMANAGERSTARTDATE = case when P.PROSPECTMANAGERENDDATE < @CURRENTDATEEARLIESTTIME then null else P.PROSPECTMANAGERSTARTDATE end
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 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
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(P.PROSPECTMANAGERFUNDRAISERID) NF_PROSPECTMANAGER
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PP.PRIMARYMANAGERFUNDRAISERID) NF_PM
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PP.SECONDARYMANAGERFUNDRAISERID) NF_PF
where
O.ID=@ID;
return 0;
end