USP_DATAFORMTEMPLATE_EDIT_SPONSORSHIPOVERRIDETRANSFER_4

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN
@SPONSORSHIPREASONID uniqueidentifier IN
@SPONSORSHIPPROGRAMID uniqueidentifier IN
@SPONSORSHIPLOCATIONID uniqueidentifier IN
@GENDERCODE int IN
@SPROPPAGERANGEID uniqueidentifier IN
@ISHIVPOSITIVECODE int IN
@HASCONDITIONCODE int IN
@ISORPHANEDCODE int IN
@SPROPPPROJECTCATEGORYCODEID uniqueidentifier IN
@SPONSORSHIPOPPORTUNITYIDCHILD uniqueidentifier IN
@SPONSORSHIPOPPORTUNITYIDPROJECT uniqueidentifier IN
@ISSOLESPONSORSHIP bit IN
@AMOUNT money IN
@FREQUENCYCODE tinyint IN
@REVENUESCHEDULESTARTDATE datetime IN
@REVENUESCHEDULEENDDATE datetime IN
@PLANNEDENDDATE date IN
@RESERVEDOPPORTUNITYIDCHILD uniqueidentifier IN
@RESERVATIONKEY uniqueidentifier IN
@MATCHEDOPPORTUNITYID uniqueidentifier IN
@SENDREMINDER bit IN
@NEXTINSTALLMENTID uniqueidentifier IN
@FINDERNUMBER bigint IN
@SOURCECODE nvarchar(50) IN
@APPEALID uniqueidentifier IN
@MAILINGID uniqueidentifier IN
@CHANNELCODEID uniqueidentifier IN
@REFERENCE nvarchar(255) IN
@CATEGORYCODEID uniqueidentifier IN
@REVENUEDEVELOPMENTFUNCTIONCODEID uniqueidentifier IN
@EXPIRATIONREASONID uniqueidentifier IN
@TRANSACTIONCURRENCYID uniqueidentifier IN
@BASEEXCHANGERATEID uniqueidentifier IN
@EXCHANGERATE decimal(20, 8) IN
@HADSPOTRATE bit IN
@RATECHANGED bit IN
@UPDATERECOGNITIONOPTION bit IN
@DONOTACKNOWLEDGE bit IN

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_SPONSORSHIPOVERRIDETRANSFER_4 (
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @SPONSORSHIPREASONID uniqueidentifier,
    --@MATCHRULE tinyint,

    @SPONSORSHIPPROGRAMID uniqueidentifier,
    @SPONSORSHIPLOCATIONID uniqueidentifier,
    @GENDERCODE int,
    @SPROPPAGERANGEID uniqueidentifier,
    @ISHIVPOSITIVECODE int,
    @HASCONDITIONCODE int,
    @ISORPHANEDCODE int,
    @SPROPPPROJECTCATEGORYCODEID uniqueidentifier,
    @SPONSORSHIPOPPORTUNITYIDCHILD uniqueidentifier,
    @SPONSORSHIPOPPORTUNITYIDPROJECT uniqueidentifier,
    @ISSOLESPONSORSHIP bit,
    @AMOUNT money,
    @FREQUENCYCODE tinyint,
    @REVENUESCHEDULESTARTDATE datetime,
    @REVENUESCHEDULEENDDATE datetime,
    @PLANNEDENDDATE date,
    @RESERVEDOPPORTUNITYIDCHILD uniqueidentifier,
    @RESERVATIONKEY uniqueidentifier,
    @MATCHEDOPPORTUNITYID uniqueidentifier,
    @SENDREMINDER bit,
    @NEXTINSTALLMENTID uniqueidentifier,
    @FINDERNUMBER bigint,
    @SOURCECODE nvarchar(50),
    @APPEALID uniqueidentifier,
    @MAILINGID uniqueidentifier,
    @CHANNELCODEID uniqueidentifier,
    @REFERENCE nvarchar(255),
    @CATEGORYCODEID uniqueidentifier,
    @REVENUEDEVELOPMENTFUNCTIONCODEID uniqueidentifier,
    @EXPIRATIONREASONID uniqueidentifier,
    @TRANSACTIONCURRENCYID uniqueidentifier,
    @BASEEXCHANGERATEID uniqueidentifier,
    @EXCHANGERATE decimal(20,8),
    @HADSPOTRATE bit,
    @RATECHANGED bit,
    @UPDATERECOGNITIONOPTION bit,
    @DONOTACKNOWLEDGE bit
)
as
    set nocount on;

    declare @NEWID uniqueidentifier
    set @NEWID = newid()

    if @CHANGEAGENTID is null  
        exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output

    declare @SPONSORSHIPOPPORTUNITYID uniqueidentifier
    set @SPONSORSHIPOPPORTUNITYID = isnull(@SPONSORSHIPOPPORTUNITYIDCHILD,@SPONSORSHIPOPPORTUNITYIDPROJECT)

    if @SPONSORSHIPOPPORTUNITYID is null and @RESERVEDOPPORTUNITYIDCHILD is not null
        set @SPONSORSHIPOPPORTUNITYID = @RESERVEDOPPORTUNITYIDCHILD

    if @SPONSORSHIPOPPORTUNITYID is not null
    begin
        set @SPONSORSHIPLOCATIONID = null;
        set @GENDERCODE = 0;
        set @SPROPPAGERANGEID = null;
        set @ISHIVPOSITIVECODE = 0;
        set @HASCONDITIONCODE = 0;
        set @ISORPHANEDCODE = 0;
        set @SPROPPPROJECTCATEGORYCODEID = null;
    end

    if @SPONSORSHIPOPPORTUNITYID is null and @MATCHEDOPPORTUNITYID is not null
        set @SPONSORSHIPOPPORTUNITYID = @MATCHEDOPPORTUNITYID

    if @SPONSORSHIPOPPORTUNITYID is null
    begin
        raiserror('BBERR_NOOPPORTUNITYSPECIFIED',13,1);
        return 1
    end

    if @GENDERCODE is null
        set @GENDERCODE = 0
    if @ISHIVPOSITIVECODE is null
        set @ISHIVPOSITIVECODE = 0
    if @HASCONDITIONCODE is null
        set @HASCONDITIONCODE = 0
    if @ISORPHANEDCODE is null
        set @ISORPHANEDCODE = 0
    if @FINDERNUMBER is null
      set @FINDERNUMBER = 0

    begin try
        declare @FROMSPONSORSHIPID uniqueidentifier
        declare @TOSPONSORSHIPID uniqueidentifier

        exec dbo.USP_GETPENDINGTRANSFERSPONSORSHIPS
            @ID,
            @FROMSPONSORSHIPID output,
            @TOSPONSORSHIPID output

        if @FROMSPONSORSHIPID is not null and
           @TOSPONSORSHIPID is not null
        begin
            exec dbo.USP_SPONSORSHIP_OVERRIDETRANSFER
              @NEWID output,
              @FROMSPONSORSHIPID,
              @TOSPONSORSHIPID,
              @SPONSORSHIPREASONID,
              0,--@MATCHRULE,

              @SPONSORSHIPPROGRAMID,
              @SPONSORSHIPLOCATIONID,
              @GENDERCODE,
              @SPROPPAGERANGEID,
              @ISHIVPOSITIVECODE,
              @HASCONDITIONCODE,
              @ISORPHANEDCODE,
              @SPROPPPROJECTCATEGORYCODEID,
              @SPONSORSHIPOPPORTUNITYID,
              @ISSOLESPONSORSHIP,
              1,
              @CHANGEAGENTID,
              @PLANNEDENDDATE,
              @EXPIRATIONREASONID,
        1

            declare @REVENUEID uniqueidentifier;

            select @REVENUEID = REVENUESPLIT.REVENUEID
            from dbo.SPONSORSHIP
            left outer join dbo.REVENUESPLIT on REVENUESPLIT.ID = SPONSORSHIP.REVENUESPLITID
            left outer join dbo.REVENUESCHEDULE on REVENUESCHEDULE.ID = REVENUESPLIT.REVENUEID
            where SPONSORSHIP.ID = @NEWID

            if @REVENUEID is not null
            begin
                declare @DATE datetime;
                declare @SPLITS xml;
                declare @GIVENANONYMOUSLY bit;
                declare @SCHEDULESEEDDATE datetime;

                exec dbo.USP_DATAFORMTEMPLATE_EDITLOAD_RECURRINGGIFT_2
                    @ID = @REVENUEID,
                    @DATE = @DATE output,
                    @SPLITS = @SPLITS output,
                    @GIVENANONYMOUSLY = @GIVENANONYMOUSLY output,
                    @SCHEDULESEEDDATE = @SCHEDULESEEDDATE output;

                set @SPLITS.modify('replace value of (SPLITS/ITEM/AMOUNT[1]/text())[1] with sql:variable("@AMOUNT")')

                exec dbo.USP_DATAFORMTEMPLATE_EDIT_RECURRINGGIFT_7
                    @REVENUEID,
                    @CHANGEAGENTID,
                    @DATE,
                    @AMOUNT,
                    @SPLITS,
                    @FREQUENCYCODE,
                    @REVENUESCHEDULEENDDATE,
                    @REVENUESCHEDULESTARTDATE,
                    @FINDERNUMBER,
                    @SOURCECODE,
                    @APPEALID,
                    @GIVENANONYMOUSLY,
                    @MAILINGID,
                    @CHANNELCODEID,
                    @DONOTACKNOWLEDGE,
                    @REFERENCE,
                    @CATEGORYCODEID,
                    @SENDREMINDER,
                    @NEXTINSTALLMENTID,
                    @REVENUEDEVELOPMENTFUNCTIONCODEID,
                    @TRANSACTIONCURRENCYID,
                    @BASEEXCHANGERATEID,
                    @EXCHANGERATE,
                    @HADSPOTRATE,
                    @RATECHANGED,
                    @UPDATERECOGNITIONOPTION,
                    null,
                    @SCHEDULESEEDDATE,
                    0;
            end
        end
        else
        begin
          raiserror('BBERR_NOPENDINGTRANSFER', 13, 1);
          return 1
        end
    end try
    begin catch
        exec dbo.USP_RAISE_ERROR
        return 1
    end catch

    return 0