USP_DATAFORMTEMPLATE_VIEW_PROSPECTRESEARCHREQUEST

The load procedure used by the view dataform template "Prospect Research Request View"

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.
@STATUS nvarchar(100) INOUT Status:
@PRIORITY nvarchar(150) INOUT Priority:
@REQUESTDATE date INOUT Request date:
@REASON nvarchar(150) INOUT Request reason:
@REQUESTEDBYID uniqueidentifier INOUT Requested by:
@SUBMITTEDBYID uniqueidentifier INOUT Submitted by:
@NOTES nvarchar(max) INOUT Request notes:
@STATUSCHANGENOTES nvarchar(max) INOUT Status comments:
@RECORDTYPE nvarchar(14) INOUT Record type:
@NUMBEROFCONSTITUENTS smallint INOUT No. prospects:
@RESEARCHGROUPID uniqueidentifier INOUT Research group ID
@EVENTID uniqueidentifier INOUT Event ID
@RESEARCHGROUPNAME nvarchar(150) INOUT Research group name
@EVENTNAME nvarchar(150) INOUT Event name
@RECORDTYPECODE tinyint INOUT Record type code
@SITES nvarchar(max) INOUT Sites

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_PROSPECTRESEARCHREQUEST
(
    @ID uniqueidentifier,
    @DATALOADED bit = 0 output,
    @STATUS nvarchar(100) = null output,
    @PRIORITY nvarchar(150) = null output,
    @REQUESTDATE date = null output,
    @REASON nvarchar(150) = null output,
    @REQUESTEDBYID uniqueidentifier = null output,
    @SUBMITTEDBYID uniqueidentifier = null output,
    @NOTES nvarchar(max) = null output,
    @STATUSCHANGENOTES nvarchar(max) = null output,
    @RECORDTYPE nvarchar(14) = null output,
    @NUMBEROFCONSTITUENTS smallint = null output,
    @RESEARCHGROUPID uniqueidentifier = null output,
    @EVENTID uniqueidentifier = null output,
    @RESEARCHGROUPNAME nvarchar(150) = null output,
    @EVENTNAME nvarchar(150) = null output,
    @RECORDTYPECODE tinyint = null output,
    @SITES nvarchar(max) = null output
)
as
    set nocount on;

    -- be sure to set this, in case the select returns no rows

    set @DATALOADED = 0;

    declare @STATUSCHANGEREASON nvarchar(100)

    select 
        @DATALOADED = 1,
        @STATUS = PRR.STATUS,
        @PRIORITY = PRRP.DESCRIPTION,
        @REQUESTDATE = PRR.DATEADDED,
        @REASON = PRRR.DESCRIPTION,
        @REQUESTEDBYID = PRR.REQUESTEDBYID,
        @SUBMITTEDBYID = PRR.SUBMITTEDBYID,
        @NOTES = case when len(PRR.NOTES) > 160 then (left(PRR.NOTES, 160) + '...') else PRR.NOTES end,
        @RECORDTYPE = PRR.RECORDTYPE,
        @NUMBEROFCONSTITUENTS = (select count(ID) from dbo.PROSPECTRESEARCHREQUESTCONSTITUENT PRRC where PRRC.PROSPECTRESEARCHREQUESTID = PRR.ID and PRRC.STATUSCODE <> 6),
        @RESEARCHGROUPID = PRR.RESEARCHGROUPID,
        @EVENTID = PRR.EVENTID,
        @RESEARCHGROUPNAME = RG.NAME,
        @EVENTNAME = E.NAME,
        @STATUSCHANGEREASON = PRRSR.DESCRIPTION,
        @STATUSCHANGENOTES = case when len(PRR.STATUSCHANGENOTES) > 160 then (left(PRR.STATUSCHANGENOTES, 160) + '...') else PRR.STATUSCHANGENOTES end,
        @RECORDTYPECODE = PRR.RECORDTYPECODE,
        @SITES =    (
                        select dbo.UDA_BUILDLIST(SITE.NAME) 
                        from dbo.PROSPECTRESEARCHREQUESTSITE
                        inner join dbo.SITE on SITE.ID = PROSPECTRESEARCHREQUESTSITE.SITEID
                        where PROSPECTRESEARCHREQUESTID = PRR.ID
                    )
    from 
        dbo.PROSPECTRESEARCHREQUEST PRR
    left join
        dbo.PROSPECTRESEARCHREQUESTPRIORITYCODE PRRP on PRRP.ID = PRR.PROSPECTRESEARCHREQUESTPRIORITYCODEID
    left join
        dbo.PROSPECTRESEARCHREQUESTREASONCODE PRRR on PRRR.ID = PRR.PROSPECTRESEARCHREQUESTREASONCODEID
    left join
        dbo.EVENT E on E.ID = PRR.EVENTID
    left join
        dbo.RESEARCHGROUP RG on RG.ID = PRR.RESEARCHGROUPID
    left join
        dbo.PROSPECTRESEARCHREQUESTSTATUSCHANGECODE PRRSR on PRRSR.ID = PRR.PROSPECTRESEARCHREQUESTSTATUSCHANGECODEID
    where 
        PRR.ID = @ID

    if (@STATUS = 'Canceled' or @STATUS = 'Rejected') and @STATUSCHANGEREASON is not null begin
        if len(@STATUSCHANGEREASON) > 36
            set @STATUS = @STATUS + ' (' + substring(@STATUSCHANGEREASON, 0, 33) + '...)'
        else
            set @STATUS = @STATUS + ' (' + @STATUSCHANGEREASON + ')'
    end

    return 0;