USP_DATAFORMTEMPLATE_VIEW_PROSPECTPLANREQUESTDETAIL

The load procedure used by the view dataform template "Prospect Plan Request Detail 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.
@PROSPECTPLAN nvarchar(100) INOUT Plan name
@PROSPECTPLANTYPE nvarchar(100) INOUT Plan type
@PRIMARYMANAGER nvarchar(154) INOUT Primary manager
@PRIMARYMANAGERSTARTDATE datetime INOUT Start date
@SECONDARYMANAGER nvarchar(154) INOUT Secondary manager
@SECONDARYMANAGERSTARTDATE datetime INOUT Start date
@SECONDARYFUNDRAISERS xml INOUT SECONDARYFUNDRAISERS
@PROSPECTPLAN_PARTICIPANTS xml INOUT PROSPECTPLAN_PARTICIPANTS
@SITES xml INOUT SITES
@NARRATIVE nvarchar(max) INOUT Narrative

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_PROSPECTPLANREQUESTDETAIL
(
    @ID uniqueidentifier,
    @DATALOADED bit = 0 output,
    @PROSPECTPLAN nvarchar(100) = null output,
    @PROSPECTPLANTYPE nvarchar(100) = null output,
    @PRIMARYMANAGER nvarchar(154) = null output,
    @PRIMARYMANAGERSTARTDATE datetime = null output,
    @SECONDARYMANAGER nvarchar(154) = null output,
    @SECONDARYMANAGERSTARTDATE datetime = null output,
    @SECONDARYFUNDRAISERS xml = null output,
    @PROSPECTPLAN_PARTICIPANTS xml = null output,
    @SITES xml = null output,
    @NARRATIVE nvarchar(max) = null output
)
as
    set nocount on;

    set @DATALOADED = 0;

    declare @ITEMSLISTXML xml

    select 
        @DATALOADED = 1,
        @PROSPECTPLAN = PROSPECTPLANREQUEST.NAME,
        @PROSPECTPLANTYPE = PROSPECTPLANTYPECODE.DESCRIPTION,
        @PRIMARYMANAGER = NF_PRIMARYMANAGER.NAME,
        @PRIMARYMANAGERSTARTDATE = PROSPECTPLANREQUEST.PRIMARYMANAGERSTARTDATE,
        @SECONDARYMANAGER = NF_SECONDARYMANAGER.NAME,
        @SECONDARYMANAGERSTARTDATE = PROSPECTPLANREQUEST.SECONDARYMANAGERSTARTDATE,
        @NARRATIVE = PROSPECTPLANREQUEST.NARRATIVE
    from dbo.PROSPECTPLANREQUEST
        inner join dbo.PROSPECTPLANTYPECODE on PROSPECTPLANREQUEST.PROSPECTPLANTYPECODEID = PROSPECTPLANTYPECODE.ID
        outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PROSPECTPLANREQUEST.PRIMARYMANAGERFUNDRAISERID) NF_PRIMARYMANAGER
        outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(PROSPECTPLANREQUEST.SECONDARYMANAGERFUNDRAISERID) NF_SECONDARYMANAGER
    where PROSPECTPLANREQUEST.ID = @ID

    select @ITEMSLISTXML = PROSPECTPLAN_PARTICIPANTS from dbo.PROSPECTPLANREQUEST where ID = @ID

    declare @TempParticipants table (
        CONSTITUENTID uniqueidentifier,
        PLANPARTICIPANTROLECODEID uniqueidentifier
    )

    insert into @TempParticipants (
        CONSTITUENTID,
        PLANPARTICIPANTROLECODEID
    )

    select
        T.c.value('(CONSTITUENTID)[1]','uniqueidentifier') AS 'CONSTITUENTID',
        T.c.value('(PLANPARTICIPANTROLECODEID)[1]','uniqueidentifier') AS 'PLANPARTICIPANTROLECODEID'
    FROM @ITEMSLISTXML.nodes('/PROSPECTPLAN_PARTICIPANTS/ITEM') T(c)

    set @PROSPECTPLAN_PARTICIPANTS = (select NF.NAME as CONSTITUENT, PLANPARTICIPANTROLECODE.DESCRIPTION as PLANPARTICIPANTROLECODE
                                   from @TempParticipants TP
                                   left outer join dbo.PLANPARTICIPANTROLECODE on TP.PLANPARTICIPANTROLECODEID = PLANPARTICIPANTROLECODE.ID
                                   cross apply dbo.UFN_CONSTITUENT_DISPLAYNAME(TP.CONSTITUENTID) NF
                                   for xml raw('ITEM'),type,elements,root('PROSPECTPLAN_PARTICIPANTS'),BINARY BASE64);

    select @ITEMSLISTXML = SECONDARYFUNDRAISERS from dbo.PROSPECTPLANREQUEST where ID = @ID

    declare @TempSecondary table (
        FUNDRAISERID uniqueidentifier,
        SOLICITORROLECODEID uniqueidentifier
    )

    insert into @TempSecondary (
        FUNDRAISERID,
        SOLICITORROLECODEID
    )
    select
        T.c.value('(FUNDRAISERID)[1]','uniqueidentifier') AS 'FUNDRAISERID',
        T.c.value('(SOLICITORROLECODEID)[1]','uniqueidentifier') AS 'SOLICITORROLECODEID'
    FROM @ITEMSLISTXML.nodes('/SECONDARYFUNDRAISERS/ITEM') T(c)

    set @SECONDARYFUNDRAISERS = (select NF.NAME as FUNDRAISER, SOLICITORROLECODE.DESCRIPTION as SOLICITORROLECODE
                                   from @TempSecondary TS
                                   left outer join dbo.SOLICITORROLECODE on TS.SOLICITORROLECODEID = SOLICITORROLECODE.ID
                                   cross apply dbo.UFN_CONSTITUENT_DISPLAYNAME(TS.FUNDRAISERID) NF
                                   for xml raw('ITEM'),type,elements,root('SECONDARYFUNDRAISERS'),BINARY BASE64);

    select @ITEMSLISTXML = SITES from dbo.PROSPECTPLANREQUEST where ID = @ID

    declare @TempSites table (
        SITEID uniqueidentifier
    )

    insert into @TempSites (
        SITEID
    )

    select
        T.c.value('(SITEID)[1]','uniqueidentifier') AS 'SITEID'
    FROM @ITEMSLISTXML.nodes('/SITES/ITEM') T(c)

    set @SITES = (select SITE.NAME as NAME
               from @TempSites TS
               inner join dbo.SITE on TS.SITEID = SITE.ID
               for xml raw('ITEM'),type,elements,root('SITES'),BINARY BASE64);

    return 0;