USP_SEARCHLIST_SPONSORSHIP

Search for a child or project sponsorship

Parameters

Parameter Parameter Type Mode Description
@CHILDSPONSORSHIPOPPORTUNITYID uniqueidentifier IN Child
@PROJECTSPONSORSHIPOPPORTUNITYID uniqueidentifier IN Project
@SPONSORID uniqueidentifier IN Sponsor
@LOCATIONID uniqueidentifier IN Opportunity location
@SPONSORSHIPPROGRAMID uniqueidentifier IN Program
@STARTDATE UDT_FUZZYDATE IN Start date
@ENDDATE UDT_FUZZYDATE IN End date
@INCLUDEINACTIVE bit IN Include inactive
@INCLUDEPENDING bit IN Include pending
@MAXROWS smallint IN Input parameter indicating the maximum number of rows to return.
@LOOKUPID uniqueidentifier IN
@COMMITMENTID nvarchar(100) IN Commitment ID

Definition

Copy


CREATE procedure dbo.USP_SEARCHLIST_SPONSORSHIP
(
    --@ID uniqueidentifier ,

    @CHILDSPONSORSHIPOPPORTUNITYID uniqueidentifier = null,
    @PROJECTSPONSORSHIPOPPORTUNITYID uniqueidentifier = null,
    @SPONSORID uniqueidentifier = null,
    @LOCATIONID uniqueidentifier = null,
    @SPONSORSHIPPROGRAMID uniqueidentifier = null,
    @STARTDATE dbo.UDT_FUZZYDATE = null,
    @ENDDATE dbo.UDT_FUZZYDATE = null,
    @INCLUDEINACTIVE bit = null,
    @INCLUDEPENDING bit = null,
    @MAXROWS smallint = 500,
    @LOOKUPID uniqueidentifier = null,
    @COMMITMENTID nvarchar(100) = null
)
as
    set nocount on

    if @COMMITMENTID is not null 
       set @COMMITMENTID = replace(@COMMITMENTID,'*','%') + '%';


    select top(@MAXROWS)
        S.ID,
        NF.NAME SPONSOR,
        (select NAME from dbo.SPONSORSHIPPROGRAM SPR WHERE SPR.ID = S.SPONSORSHIPPROGRAMID) PROGRAM,
        dbo.UFN_SPONSORSHIPOPPORTUNITY_TRANSLATIONFUNCTION(SO.ID) as NAME,
        SO.LOOKUPID,
        dbo.UFN_SPONSORSHIPLOCATION_GETFULLNAME(SO.SPONSORSHIPLOCATIONID) LOCATION,
        S.STARTDATE,S.ENDDATE,
    S.STATUS +
            case when S.STATUSCODE = 2 then
              case when LASTTRANSACTION.ACTIONCODE in(2,3) then
                     ' (' + case LASTTRANSACTION.ACTIONCODE
                                    when 2 then
                                      case S.ID
                                        when LASTTRANSACTION.CONTEXTSPONSORSHIPID then
                                          case LASTREASON.REASONTYPECODE when 11 then 'Expired' else 'Cancelled' end
                                        when LASTTRANSACTION.DECLINEDSPONSORSHIPID then 'Declined' end
                                    when 3 then 'Terminated'
                                    end + ')'
                    when LASTTRANSACTION.ACTIONCODE = 7 and S.ID = LASTTRANSACTION.DECLINEDSPONSORSHIPID then
                     ' (Declined)'
                    else '' end
            when S.STATUSCODE = 1 and LASTTRANSACTION.ACTIONCODE = 6 then
             ' (Transfer pending)'
            else '' end,
        SC.LOOKUPID COMMITMENTID
        --convert(varchar(11),S.STARTDATE),convert(varchar(11),S.ENDDATE),S.STATUS

    from 
        dbo.SPONSORSHIP S
        inner join dbo.SPONSORSHIPOPPORTUNITY SO on S.SPONSORSHIPOPPORTUNITYID = SO.ID
        inner join dbo.SPONSORSHIPCOMMITMENT SC ON S.SPONSORSHIPCOMMITMENTID = SC.ID
        left outer join dbo.SPONSORSHIPLOCATION OPPORTUNITYL on OPPORTUNITYL.ID = SO.SPONSORSHIPLOCATIONID
        left outer join dbo.SPONSORSHIPLOCATION SELECTEDLOCATION on SELECTEDLOCATION.ID = @LOCATIONID
    left join dbo.SPONSORSHIPTRANSACTION LASTTRANSACTION on LASTTRANSACTION.SPONSORSHIPCOMMITMENTID = S.SPONSORSHIPCOMMITMENTID and LASTTRANSACTION.TRANSACTIONSEQUENCE = (select max(TRANSACTIONSEQUENCE) from dbo.SPONSORSHIPTRANSACTION MAXSEQUENCE where MAXSEQUENCE.SPONSORSHIPCOMMITMENTID = S.SPONSORSHIPCOMMITMENTID and S.ID in(MAXSEQUENCE.CONTEXTSPONSORSHIPID,MAXSEQUENCE.TARGETSPONSORSHIPID,MAXSEQUENCE.DECLINEDSPONSORSHIPID) and MAXSEQUENCE.ACTIONCODE <> 9)
    left outer join dbo.SPONSORSHIPREASON as LASTREASON on LASTREASON.ID = LASTTRANSACTION.SPONSORSHIPREASONID
        outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(S.CONSTITUENTID) NF
    where
         (@CHILDSPONSORSHIPOPPORTUNITYID is null or S.SPONSORSHIPOPPORTUNITYID = @CHILDSPONSORSHIPOPPORTUNITYID
         and (@PROJECTSPONSORSHIPOPPORTUNITYID is null or S.SPONSORSHIPOPPORTUNITYID = @PROJECTSPONSORSHIPOPPORTUNITYID
         and (@SPONSORID is null or S.CONSTITUENTID = @SPONSORID)
         and (@LOCATIONID is null or OPPORTUNITYL.HIERARCHYPATH.IsDescendantOf(SELECTEDLOCATION.HIERARCHYPATH) = 1
         and (S.STATUSCODE = 1 
              or (S.STATUSCODE in (1,2) and @INCLUDEINACTIVE=1)
                    or (S.STATUSCODE in (0,1) and @INCLUDEPENDING=1))
         and (@STARTDATE is null or S.STARTDATE between dbo.UFN_DATE_EARLIESTFROMFUZZYDATE(@STARTDATE) and dbo.UFN_DATE_LATESTFROMFUZZYDATE(@STARTDATE))
         and (@ENDDATE is null or S.ENDDATE between dbo.UFN_DATE_EARLIESTFROMFUZZYDATE(@ENDDATE) and dbo.UFN_DATE_LATESTFROMFUZZYDATE(@ENDDATE))
         and (@SPONSORSHIPPROGRAMID is null or S.SPONSORSHIPPROGRAMID = @SPONSORSHIPPROGRAMID)
         and (@COMMITMENTID is null or SC.LOOKUPID like @COMMITMENTID)
    order by NAME