UFN_PDACCOUNTCODEMAPPING_GETOFFICENUMBER

Returns office number/id for transaction being generated.

Return

Return Type
int

Parameters

Parameter Parameter Type Mode Description
@REVENUESPLITID uniqueidentifier IN
@REVENUETRANSACTIONTYPECODE tinyint IN
@REVENUESPLITTYPECODE tinyint IN
@APPLICATIONCODE tinyint IN
@PAYMENTMETHODCODE tinyint IN
@DESIGNATIONID uniqueidentifier IN

Definition

Copy


CREATE function dbo.UFN_PDACCOUNTCODEMAPPING_GETOFFICENUMBER
                (
                    @REVENUESPLITID as uniqueidentifier,
                    @REVENUETRANSACTIONTYPECODE tinyint,
                    @REVENUESPLITTYPECODE tinyint,
                    @APPLICATIONCODE tinyint,
                    @PAYMENTMETHODCODE tinyint,
                    @DESIGNATIONID uniqueidentifier
                )
returns integer
with execute as caller
as begin
    declare @OfficeID integer

    set @OfficeID =  3    --: Development - Payments

    if @REVENUESPLITTYPECODE = 9 and @REVENUETRANSACTIONTYPECODE <> 203 -- sponsorship and not gift fee

        return @OfficeID
    if @REVENUETRANSACTIONTYPECODE = 0 and @REVENUESPLITTYPECODE = 8 and @APPLICATIONCODE = 11
        begin
            set @OfficeID = 7;
            return @OfficeID;
        end

    --bug 147403 fix planned gifts office; This is fixed in 2.8 and later by bug 123128 in UFN_PDACCOUNTCODEMAPPING_GETOFFICENUMBER_2        

    if ((@PAYMENTMETHODCODE = 7) or (@PAYMENTMETHODCODE = 8) or (@PAYMENTMETHODCODE = 200) or (@PAYMENTMETHODCODE = 201) or (@PAYMENTMETHODCODE = 202) or (@PAYMENTMETHODCODE = 203) or (@PAYMENTMETHODCODE = 204))
        and    (@REVENUETRANSACTIONTYPECODE <>    4) -- Planned gifts payment method codes are actually vehicle types  

        begin
            set @OfficeID = 9
            return @OfficeID
        end        

    if @APPLICATIONCODE = 86 or @APPLICATIONCODE = 85
        begin
            set @OfficeID = 5    --: Development - Benefits

            return @OfficeID
        end 
    if @REVENUETRANSACTIONTYPECODE = 4    
        begin
            select  @OfficeID = 6 --: Development - Planned Gifts

            return @OfficeID        
        end
    if (@PAYMENTMETHODCODE = 9 and  @REVENUETRANSACTIONTYPECODE = 1) or (@PAYMENTMETHODCODE = 205 and  @REVENUETRANSACTIONTYPECODE = 1) or (@PAYMENTMETHODCODE = 99 and  @REVENUETRANSACTIONTYPECODE = 1) or (@APPLICATIONCODE = 87)
        begin
            set  @OfficeID  = 4  --: Development - Pledges

            return @OfficeID
        end
    if (@REVENUETRANSACTIONTYPECODE = 5
        begin
            set @OfficeID = 1 --officeid from PDACCOUNTCODEMAPOFFICE where officeid = 1  : Ticketing - Orders

            return @OfficeID
        end        
    if (@REVENUESPLITTYPECODE = 5) or (@REVENUESPLITTYPECODE = 6) or (@REVENUESPLITTYPECODE = 7) or (@REVENUESPLITTYPECODE = 10) or (@REVENUESPLITTYPECODE = 11)  or (@REVENUETRANSACTIONTYPECODE = 0 and @APPLICATIONCODE = 10)
        begin
            set  @OfficeID  = 2 --select  @OfficeID = officeid from PDACCOUNTCODEMAPOFFICE where officeid = 2 : Ticketing - Payments    

            return @OfficeID
        end
    if (@PAYMENTMETHODCODE = 9 and  @REVENUETRANSACTIONTYPECODE = 6) or (@PAYMENTMETHODCODE = 205 and  @REVENUETRANSACTIONTYPECODE = 6) --or (@APPLICATIONCODE = 8)

        begin
            set  @OfficeID  = 11  --: Development - Grant Awards

            return @OfficeID
        end

  if (@PAYMENTMETHODCODE = 206 and  @REVENUETRANSACTIONTYPECODE = 202 and @REVENUESPLITTYPECODE = 202 and @APPLICATIONCODE = 202)
        begin
            set  @OfficeID  = 12  --: Development - Gift Aid

            return @OfficeID
        end

    if (@PAYMENTMETHODCODE = 9 and @REVENUETRANSACTIONTYPECODE = 7 and @REVENUESPLITTYPECODE = 0 and @APPLICATIONCODE = 0) or (@PAYMENTMETHODCODE = 205 and @REVENUETRANSACTIONTYPECODE = 7) --Auction donation

        begin
            set @OFFICEID = 13 --: Development - Auction Donation

            return @OfficeID;
        end

    if (@APPLICATIONCODE = 12 and @REVENUESPLITTYPECODE in (203,204))
        begin
            set @OFFICEID = 14 --: Development - Auction Purchase Gain\Loss

            return @OfficeID;
        end

    if (@REVENUETRANSACTIONTYPECODE = 203)
        begin
            set @OfficeID = 15 --: Development - Gift Fees

            return @OfficeID;
        end

    if (@PAYMENTMETHODCODE = 207 or @PAYMENTMETHODCODE = 208)
        begin
            set @OfficeID = 17 --: Development - Unrealized gains and losses

            return @OfficeID;
        end

    return  @OfficeID
end