USP_DATAFORMTEMPLATE_VIEW_PROSPECTPLANLIST

The load procedure used by the view dataform template "Prospect Plan List 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.
@SITE nvarchar(1024) INOUT Site
@CURRENTSTAGE nvarchar(100) INOUT Current stage
@LASTDATE datetime INOUT Last step date
@LASTSTEPOWNER nvarchar(700) INOUT Last step owner
@LASTSTEPOBJECTIVE nvarchar(100) INOUT Last step objective
@NEXTDATE datetime INOUT Next step date
@NEXTSTEPOWNER nvarchar(700) INOUT Next step owner
@NEXTSTEPOBJECTIVE nvarchar(100) INOUT Next step objective
@PRIMARYMANAGER nvarchar(700) INOUT Primary manager
@SECONDARYMANAGER nvarchar(700) INOUT Secondary manager
@OPPORTUNITYAMOUNT money INOUT Qualified opportunity amount
@DESIGNATIONS nvarchar(1000) INOUT Designations
@ASKDATE datetime INOUT Ask date
@NAME nvarchar(100) INOUT Plan name
@BASECURRENCYID uniqueidentifier INOUT Base currency ID
@UNQUALIFIEDCOUNT int INOUT
@UNQUALIFIEDAMOUNT money INOUT
@UNQUALIFIEDID uniqueidentifier INOUT
@QUALIFIEDCOUNT int INOUT
@QUALIFIEDAMOUNT money INOUT
@QUALIFIEDID uniqueidentifier INOUT
@RESPONSEPENDINGCOUNT int INOUT
@RESPONSEPENDINGAMOUNT money INOUT
@RESPONSEPENDINGID uniqueidentifier INOUT
@ACCEPTEDCOUNT int INOUT
@ACCEPTEDAMOUNT money INOUT
@ACCEPTEDID uniqueidentifier INOUT
@CANCELEDCOUNT int INOUT
@CANCELEDAMOUNT money INOUT
@CANCELEDID uniqueidentifier INOUT
@REJECTEDCOUNT int INOUT
@REJECTEDAMOUNT money INOUT
@REJECTEDID uniqueidentifier INOUT

Definition

Copy


        CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_PROSPECTPLANLIST
        (
          @ID uniqueidentifier,
          @DATALOADED bit = 0 output,
          @SITE nvarchar(1024) = null output,
          @CURRENTSTAGE nvarchar(100) = null output,
          @LASTDATE datetime = null output,
          @LASTSTEPOWNER nvarchar(700) = null output,
          @LASTSTEPOBJECTIVE nvarchar(100) = null output,
          @NEXTDATE datetime = null output,
          @NEXTSTEPOWNER nvarchar(700) = null output,
          @NEXTSTEPOBJECTIVE nvarchar(100) = null output,
          @PRIMARYMANAGER nvarchar(700) = null output,
          @SECONDARYMANAGER nvarchar(700) = null output,
          @OPPORTUNITYAMOUNT money = null output,
          @DESIGNATIONS nvarchar(1000) = null output,
          @ASKDATE datetime = null output,
          @NAME nvarchar(100) = null output,
          @BASECURRENCYID uniqueidentifier = null output,
          @UNQUALIFIEDCOUNT int = null output,
          @UNQUALIFIEDAMOUNT money = null output,
          @UNQUALIFIEDID uniqueidentifier = null output,
          @QUALIFIEDCOUNT int = null output,
          @QUALIFIEDAMOUNT money = null output,
          @QUALIFIEDID uniqueidentifier = null output,
          @RESPONSEPENDINGCOUNT int = null output,
          @RESPONSEPENDINGAMOUNT money = null output,
          @RESPONSEPENDINGID uniqueidentifier = null output,
          @ACCEPTEDCOUNT int = null output,
          @ACCEPTEDAMOUNT money = null output,
          @ACCEPTEDID uniqueidentifier = null output,
          @CANCELEDCOUNT int = null output,
          @CANCELEDAMOUNT money = null output,
          @CANCELEDID uniqueidentifier = null output,
          @REJECTEDCOUNT int = null output,
          @REJECTEDAMOUNT money = null output,
          @REJECTEDID uniqueidentifier = null output
        )
        as begin
          set nocount on;

          set @DATALOADED = 0;
          declare @CURRENTEARLIESTDATE date = dbo.UFN_DATE_GETEARLIESTTIME(getdate());

          select
            @DATALOADED = 1,
            @SITE = dbo.UFN_PROSPECTPLAN_GETSITELIST(PP.ID),
            @CURRENTSTAGE = PSC.DESCRIPTION,
            @LASTDATE = LI.ACTUALDATE,
            @LASTSTEPOWNER = LASTSTEPOWNER_NF.NAME,
            @LASTSTEPOBJECTIVE = LI.OBJECTIVE,
            @NEXTDATE = NI.EXPECTEDDATE,
            @NEXTSTEPOWNER = NEXTSTEPOWNER_NF.NAME,
            @NEXTSTEPOBJECTIVE = NI.OBJECTIVE,
            @PRIMARYMANAGER =
              case
                when PP.PRIMARYMANAGERENDDATE < @CURRENTEARLIESTDATE then null
                else PRIMARYMANAGER_NF.NAME
              end,
            @SECONDARYMANAGER =
              case
                when PP.SECONDARYMANAGERENDDATE < @CURRENTEARLIESTDATE then null
                else SECONDARYMANAGER_NF.NAME
              end,
            @NAME = PP.NAME,
            @BASECURRENCYID = PP.BASECURRENCYID
          from dbo.PROSPECTPLAN PP
            left outer join dbo.INTERACTION LI on LI.ID=dbo.UFN_PROSPECTPLAN_GETLASTSTEP(PP.ID)
            outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(LI.FUNDRAISERID) LASTSTEPOWNER_NF
            left outer join dbo.INTERACTION NI on NI.ID=dbo.UFN_PROSPECTPLAN_GETNEXTSTEP(PP.ID)
            outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(NI.FUNDRAISERID) NEXTSTEPOWNER_NF
            outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PP.PRIMARYMANAGERFUNDRAISERID) PRIMARYMANAGER_NF
            outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PP.SECONDARYMANAGERFUNDRAISERID) SECONDARYMANAGER_NF
            left outer join dbo.PROSPECTPLANTYPECODE STC on STC.ID=PP.PROSPECTPLANTYPECODEID
            left outer join dbo.PROSPECTPLANSTATUSCODE PSC on PSC.ID=PP.PROSPECTPLANSTATUSCODEID
          where PP.ID = @ID;

          select @OPPORTUNITYAMOUNT = sum(OPPORTUNITY.AMOUNT)
          from dbo.OPPORTUNITY
          where
            OPPORTUNITY.STATUSCODE in (1,2,3)
            and OPPORTUNITY.PROSPECTPLANID = @ID;

          select distinct @DESIGNATIONS = dbo.UDA_BUILDLIST(DESIGNATIONS.NAME)
          from (
            select distinct dbo.UFN_DESIGNATION_BUILDNAME(OPPORTUNITYDESIGNATION.DESIGNATIONID) as NAME
            from dbo.OPPORTUNITY
              inner join dbo.OPPORTUNITYDESIGNATION on OPPORTUNITYDESIGNATION.OPPORTUNITYID = OPPORTUNITY.ID
            where
              OPPORTUNITY.STATUSCODE in (1,2,3)
              and OPPORTUNITY.PROSPECTPLANID=@ID
          ) as DESIGNATIONS;

          exec dbo.USP_PROSPECTPLAN_GETOPPORTUNITYSUMMARY
            @ID,
            @UNQUALIFIEDCOUNT output,
            @UNQUALIFIEDAMOUNT output,
            @QUALIFIEDCOUNT output,
            @QUALIFIEDAMOUNT output,
            @RESPONSEPENDINGCOUNT output,
            @RESPONSEPENDINGAMOUNT output,
            @ACCEPTEDCOUNT output,
            @ACCEPTEDAMOUNT output,
            @REJECTEDCOUNT output,
            @REJECTEDAMOUNT output,
            @CANCELEDCOUNT output,
            @CANCELEDAMOUNT output,
            @UNQUALIFIEDID output,
            @QUALIFIEDID output,
            @RESPONSEPENDINGID output,
            @ACCEPTEDID output,
            @REJECTEDID output,
            @CANCELEDID output;

          return 0;
        end