USP_DATAFORMTEMPLATE_EDITLOAD_SOLESPONSORSHIPCHANGETO

The load procedure used by the edit dataform template "Change to Sole Sponsorship Edit 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.
@TSLONG bigint INOUT Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record.
@REVENUEID uniqueidentifier INOUT
@CONSTITUENTID uniqueidentifier INOUT Constituent
@CONSTITUENTNAME nvarchar(255) INOUT Constituent
@DATE datetime INOUT Date
@AMOUNT money INOUT Amount
@SPLITS xml INOUT Designations
@FREQUENCYCODE tinyint INOUT Frequency
@ENDDATE datetime INOUT Ending on
@STARTDATE datetime INOUT Next transaction
@FINDERNUMBER bigint INOUT Finder number
@SOURCECODE nvarchar(50) INOUT Source code
@APPEALID uniqueidentifier INOUT Appeal
@GIVENANONYMOUSLY bit INOUT Recurring gift is anonymous
@MAILINGID uniqueidentifier INOUT Effort
@CHANNELCODEID uniqueidentifier INOUT Inbound channel
@DONOTACKNOWLEDGE bit INOUT Do not acknowledge
@MAXSOLICITORAMOUNT money INOUT Max solicitor amount
@SINGLEDESIGNATIONID uniqueidentifier INOUT Designation
@FINDERNUMBERVALID bit INOUT FINDERNUMBERVALID
@REFERENCE nvarchar(255) INOUT Reference
@CATEGORYCODEID uniqueidentifier INOUT Revenue category
@SENDREMINDER bit INOUT Send reminders
@NEXTINSTALLMENTID uniqueidentifier INOUT
@LASTACTIVITYDATE date INOUT
@EDITSTARTDATE bit INOUT
@ISSPONSORSHIP bit INOUT
@REVENUEDEVELOPMENTFUNCTIONCODEID uniqueidentifier INOUT Revenue function
@BASECURRENCYID uniqueidentifier INOUT Base currency
@TRANSACTIONCURRENCYID uniqueidentifier INOUT Transaction currency
@BASEEXCHANGERATEID uniqueidentifier INOUT Exchange rate ID
@EXCHANGERATE decimal(20, 8) INOUT Exchange rate
@HADSPOTRATE bit INOUT Had spot rate
@RATECHANGED bit INOUT Rate changed
@BASEDECIMALDIGITS tinyint INOUT Decimal digits
@BASEROUNDINGTYPECODE tinyint INOUT Rounding type
@TRANSACTIONCURRENCYDESCRIPTION nvarchar(110) INOUT Transaction currency description
@SPONSORSHIPOPPORTUNITYID uniqueidentifier INOUT
@UPDATERECOGNITIONOPTION tinyint INOUT
@SCHEDULESEEDDATE datetime INOUT
@ISMEMBERSHIPRECURRING bit INOUT
@PREVIOUSSCHEDULESEEDDATE datetime INOUT

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_SOLESPONSORSHIPCHANGETO(
    @ID uniqueidentifier,
    @DATALOADED bit = 0 output,
    @TSLONG bigint = 0 output,
    @REVENUEID uniqueidentifier = null output,
    @CONSTITUENTID uniqueidentifier = null output,
    @CONSTITUENTNAME nvarchar(255) = null output,
    @DATE datetime = null output,
    @AMOUNT money = null output,
    @SPLITS xml = null output,
    @FREQUENCYCODE tinyint = null output,
    @ENDDATE datetime = null output,
    @STARTDATE datetime = null output,
    @FINDERNUMBER bigint = null output,
    @SOURCECODE nvarchar(50) = null output,
    @APPEALID uniqueidentifier = null output,
    @GIVENANONYMOUSLY bit = null output,
    @MAILINGID uniqueidentifier = null output,
    @CHANNELCODEID uniqueidentifier = null output,
    @DONOTACKNOWLEDGE bit = null output,
    @MAXSOLICITORAMOUNT money = null output,
    @SINGLEDESIGNATIONID uniqueidentifier = null output,
    @FINDERNUMBERVALID bit = null output,
    @REFERENCE nvarchar(255) = null output,
    @CATEGORYCODEID uniqueidentifier = null output,
    @SENDREMINDER bit = null output,
    @NEXTINSTALLMENTID uniqueidentifier = null output,
    @LASTACTIVITYDATE date = null output,
    @EDITSTARTDATE bit = null output,
    @ISSPONSORSHIP bit = null output,
    @REVENUEDEVELOPMENTFUNCTIONCODEID uniqueidentifier = null output,
    @BASECURRENCYID uniqueidentifier = null output,
    @TRANSACTIONCURRENCYID uniqueidentifier = null output,
    @BASEEXCHANGERATEID uniqueidentifier = null output,
    @EXCHANGERATE decimal(20,8) = null output,
    @HADSPOTRATE bit = null output,
    @RATECHANGED bit = null output,
    @BASEDECIMALDIGITS tinyint = null output,
    @BASEROUNDINGTYPECODE tinyint = null output,
    @TRANSACTIONCURRENCYDESCRIPTION nvarchar(110) = null output,
    @SPONSORSHIPOPPORTUNITYID uniqueidentifier = null output,
    @UPDATERECOGNITIONOPTION tinyint = null output,
    @SCHEDULESEEDDATE datetime = null output,
    @ISMEMBERSHIPRECURRING bit = null output,
    @PREVIOUSSCHEDULESEEDDATE datetime = null output
)
as

  set nocount on;

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

  set @DATALOADED = 0
  set @TSLONG = 0

    declare @HASRECOGNITIONCREDIT bit;

  exec dbo.USP_DATAFORMTEMPLATE_EDITLOAD_RECURRINGGIFT_2  
    @ID,
    @DATALOADED output,
    @REVENUEID output,
    @CONSTITUENTID output,
    @CONSTITUENTNAME output,
    @DATE output,
    @AMOUNT output,
    @SPLITS output,
    @FREQUENCYCODE output,
    @ENDDATE output,
    @STARTDATE output,
    @FINDERNUMBER output,
    @SOURCECODE output,
    @APPEALID output,
    @GIVENANONYMOUSLY output,
    @MAILINGID output,
    @CHANNELCODEID output,
    @DONOTACKNOWLEDGE output,
    @MAXSOLICITORAMOUNT output,
    @TSLONG output,
    @SINGLEDESIGNATIONID output,
    @FINDERNUMBERVALID output,
    @REFERENCE output,
    @CATEGORYCODEID output,
    @SENDREMINDER output,
    @NEXTINSTALLMENTID output,
    @LASTACTIVITYDATE output,
    @EDITSTARTDATE output,
    @ISSPONSORSHIP output,
    @REVENUEDEVELOPMENTFUNCTIONCODEID output,
    @BASECURRENCYID output,
    @TRANSACTIONCURRENCYID output,
    @BASEEXCHANGERATEID output,
    @EXCHANGERATE output,
    @HADSPOTRATE output,
    @RATECHANGED output,
    @BASEDECIMALDIGITS output,
    @BASEROUNDINGTYPECODE output,
    @TRANSACTIONCURRENCYDESCRIPTION output,
    @SPONSORSHIPOPPORTUNITYID  output,
    @HASRECOGNITIONCREDIT  output,
    @UPDATERECOGNITIONOPTION  output,
    @SCHEDULESEEDDATE   output,
    @ISMEMBERSHIPRECURRING  output,
    @PREVIOUSSCHEDULESEEDDATE output

  -- See if anything has changed since we loaded the sponsorship page originally

  declare @SPONSORSHIPID uniqueidentifier;
  declare @ALLOWSOLESPONSORSHIP bit = 0;

  set @SPONSORSHIPID = dbo.UFN_SPONSORSHIP_ID_FROM_REVENUEID(@ID);

  select @ALLOWSOLESPONSORSHIP = 1,
         @SPONSORSHIPOPPORTUNITYID = S.SPONSORSHIPOPPORTUNITYID
  from dbo.SPONSORSHIP S
    inner join dbo.SPONSORSHIPOPPORTUNITY SO on SO.ID = S.SPONSORSHIPOPPORTUNITYID
    inner join dbo.SPONSORSHIPOPPORTUNITYLOCK SOL on SOL.ID = SO.ID
    inner join dbo.SPONSORSHIPOPPORTUNITYGROUP SG on SG.ID = SO.SPONSORSHIPOPPORTUNITYGROUPID
    inner 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)
  where 
    S.ID = @SPONSORSHIPID
    and dbo.UFN_SPONSORSHIP_OFFERSOLESPONSORSHIP(SG.ID,SO.SPONSORSHIPLOCATIONID) = 1
    and  S.ISSOLESPONSORSHIP = 0
    and not exists (select 'X' from sponsorship s2 where s2.sponsorshipopportunityid = SO.id and status in ('Active','Pending') and s2.ID != @SPONSORSHIPID)
    and SO.AVAILABILITYCODE = 0
    -- not in pending transfer state

    and S.STATUSCODE = 1
    and LASTTRANSACTION.ACTIONCODE <> 6

  if @ALLOWSOLESPONSORSHIP = 0
    set @DATALOADED = 0


  return 0;