USP_DATAFORMTEMPLATE_VIEW_FINANCIALTRANSACTIONLINEITEMPAGEDATA

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@DATALOADED bit INOUT
@CONSTITUENTID uniqueidentifier INOUT
@CONSTITUENTNAME nvarchar(700) INOUT
@REVENUEID uniqueidentifier INOUT
@TOTALAMOUNT money INOUT
@DATE datetime INOUT
@TRANSACTIONTYPE nvarchar(50) INOUT
@AMOUNT money INOUT
@APPLICATIONCODE tinyint INOUT
@APPLICATION nvarchar(50) INOUT
@PLANNEDGIFTID uniqueidentifier INOUT
@ISPOSTED bit INOUT
@ISREFUNDABLE bit INOUT
@REVENUEHASGIFTAIDSPLITONPENDINGR68PROCESS bit INOUT
@SHOWREFUNDS bit INOUT
@HASDNPADJUSTMENT bit INOUT
@TRANSACTIONCURRENCYID uniqueidentifier INOUT
@ISPLANNEDGIFTADDITION bit INOUT
@PLANNEDGIFTADDITIONID uniqueidentifier INOUT
@ISPENDINGGIFTPAYMENT bit INOUT
@ISPAYMENTTHROUGHFAFEVENT bit INOUT
@ISINDIVIDUAL bit INOUT
@DONORCHALLENGEMATCHED bit INOUT
@GRANTAWARDPAYMENT bit INOUT
@TRANSACTIONTYPECODE tinyint INOUT
@ATTRIBUTEDEFINED bit INOUT
@CURRENTAPPUSERID uniqueidentifier IN

Definition

Copy


        CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_FINANCIALTRANSACTIONLINEITEMPAGEDATA
        (
          @ID uniqueidentifier,
          @DATALOADED bit = 0 output,
          @CONSTITUENTID uniqueidentifier = null output,
          @CONSTITUENTNAME nvarchar(700) = null output,
          @REVENUEID uniqueidentifier = null output,
          @TOTALAMOUNT money = null output,
          @DATE datetime = null output,
          @TRANSACTIONTYPE nvarchar(50) = null output,
          @AMOUNT money = null output,
          @APPLICATIONCODE tinyint = null output,
          @APPLICATION nvarchar(50) = null output,
          @PLANNEDGIFTID uniqueidentifier = null output,
          @ISPOSTED bit = null output,
          @ISREFUNDABLE bit = null output,
          @REVENUEHASGIFTAIDSPLITONPENDINGR68PROCESS bit = null output,
          @SHOWREFUNDS bit = null output,
          @HASDNPADJUSTMENT bit = null output,
          @TRANSACTIONCURRENCYID uniqueidentifier = null output,
          @ISPLANNEDGIFTADDITION bit = null output,
          @PLANNEDGIFTADDITIONID uniqueidentifier = null output,
          @ISPENDINGGIFTPAYMENT bit = null output,
          @ISPAYMENTTHROUGHFAFEVENT bit = null output,
          @ISINDIVIDUAL bit = null output,
          @DONORCHALLENGEMATCHED bit = null output,
          @GRANTAWARDPAYMENT bit = null output,
          @TRANSACTIONTYPECODE tinyint = null output,
          @ATTRIBUTEDEFINED bit = null output,
          @CURRENTAPPUSERID uniqueidentifier = null
        )
        as
        set nocount on;

        set @DATALOADED = 0;

        declare @POSTED bit;
        declare @DONOTRECEIPT bit;

        select top 1
          @DATALOADED = 1,
          @CONSTITUENTID = FINANCIALTRANSACTION.CONSTITUENTID,
          @CONSTITUENTNAME = NF.NAME,
          @REVENUEID = FINANCIALTRANSACTION.ID,
          @TOTALAMOUNT = FINANCIALTRANSACTION.TRANSACTIONAMOUNT,
          @DATE = cast(FINANCIALTRANSACTION.DATE as datetime),
          @TRANSACTIONTYPE = FINANCIALTRANSACTION.TYPE,
          @AMOUNT = FINANCIALTRANSACTIONLINEITEM.TRANSACTIONAMOUNT,
          @SHOWREFUNDS = case when REVENUESPLIT_EXT.APPLICATIONCODE in (4, 6, 8) then 0 else 1 end,
          @APPLICATIONCODE = case when FINANCIALTRANSACTION.TYPECODE = 0 then 1 else 0 end,
          @APPLICATION = case REVENUESPLIT_EXT.TYPECODE
                  when 9 then REVENUESPLIT_EXT.TYPE + ' ' + lower(REVENUESPLIT_EXT.APPLICATION)
            when 17 then 
              case REVENUESPLIT_EXT.APPLICATIONCODE
              when 3 then 'Sponsorship recurring additional gift' 
              else REVENUESPLIT_EXT.APPLICATION
              end
          else REVENUESPLIT_EXT.APPLICATION
          end,
          @TRANSACTIONTYPECODE = FINANCIALTRANSACTION.TYPECODE,
          @TRANSACTIONCURRENCYID = coalesce(FINANCIALTRANSACTION.TRANSACTIONCURRENCYID, '00000000-0000-0000-0000-000000000000'),
          @DONORCHALLENGEMATCHED = case when dbo.UFN_REVENUESPLIT_MATCHEDBYDONORCHALLENGE(@ID) = 1 then 1 else 0 end
          ,@GRANTAWARDPAYMENT = case when FINANCIALTRANSACTION.TYPECODE = 0 then 
          case when REVENUESPLIT_EXT.APPLICATIONCODE = 8 then 1 else 0 end  
          else 0 end
        from dbo.FINANCIALTRANSACTIONLINEITEM
        inner join dbo.REVENUESPLIT_EXT on FINANCIALTRANSACTIONLINEITEM.ID = REVENUESPLIT_EXT.ID
        inner join dbo.FINANCIALTRANSACTION on FINANCIALTRANSACTIONLINEITEM.FINANCIALTRANSACTIONID = FINANCIALTRANSACTION.ID
        inner join dbo.REVENUE_EXT on FINANCIALTRANSACTION.ID = REVENUE_EXT.ID
          outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(FINANCIALTRANSACTION.CONSTITUENTID) NF
        where FINANCIALTRANSACTIONLINEITEM.ID = @ID
            and FINANCIALTRANSACTION.DELETEDON is null
            and FINANCIALTRANSACTIONLINEITEM.DELETEDON is null
            and FINANCIALTRANSACTIONLINEITEM.TYPECODE <> 1

        --If there are order credits tied to that revenue id, we need

        --to account for those too

        select
          @TOTALAMOUNT = @TOTALAMOUNT - coalesce(sum([CREDITGLDISTRIBUTION].[AMOUNT]), 0)
        from
          dbo.[CREDITGLDISTRIBUTION]
        where
          [CREDITGLDISTRIBUTION].[REVENUEID] = @REVENUEID and
          [CREDITGLDISTRIBUTION].[OUTDATED] = 0 and
          [CREDITGLDISTRIBUTION].[TRANSACTIONTYPECODE] = 0

        -- Check if this is a payment for an Outright Gift or Bargain Sale planned gift

        select
                  @PLANNEDGIFTID = PLANNEDGIFTID
                from
                  dbo.PLANNEDGIFTREVENUESPLIT
                where
                  REVENUESPLITID = @ID;

        -- Check if this is a payment for any other type of planned gift

        if @PLANNEDGIFTID is null
          select
                      @PLANNEDGIFTID = PLANNEDGIFTREVENUE.PLANNEDGIFTID,
                      @PLANNEDGIFTADDITIONID = PLANNEDGIFTREVENUE.PLANNEDGIFTADDITIONID,
                      @ISPLANNEDGIFTADDITION = PLANNEDGIFTREVENUE.ISADDITION
          from
                      dbo.INSTALLMENTSPLITPAYMENT
          inner join
                      dbo.V_PLANNEDGIFTREVENUE_WITHADDITIONS PLANNEDGIFTREVENUE on INSTALLMENTSPLITPAYMENT.PLEDGEID = PLANNEDGIFTREVENUE.REVENUEID
          where
                      INSTALLMENTSPLITPAYMENT.PAYMENTID = @ID;

        if exists (select 1 from dbo.REVENUEPOSTED where ID = @REVENUEID)
          set @ISPOSTED = 1
        else
          set @ISPOSTED = 0

        select @ISREFUNDABLE = 1
          from dbo.REVENUESPLITGIFTAID
          where ID = @ID and TAXCLAIMNUMBER != '';

        declare @ISPAYMENT bit
        select @ISPAYMENT = case when @TRANSACTIONTYPECODE = 0 then 1 else 0 end
        set @REVENUEHASGIFTAIDSPLITONPENDINGR68PROCESS = dbo.UFN_REVENUE_HASGIFTAIDSPLITONPENDINGR68(@REVENUEID, @ISPAYMENT)

        select top 1
          @HASDNPADJUSTMENT = (case when POSTSTATUSCODE = 2 then 1 else 0 end)
        from 
          dbo.UFN_REVENUE_GETADJUSTMENTSTATUS(@REVENUEID)
        order by 
          DATEADDED desc


        select @ISPENDINGGIFTPAYMENT = 1 
        from dbo.INSTALLMENTSPLITPAYMENT
          inner join dbo.FINANCIALTRANSACTION
            on INSTALLMENTSPLITPAYMENT.PLEDGEID = FINANCIALTRANSACTION.ID
          where PAYMENTID = @ID AND FINANCIALTRANSACTION.TYPECODE = 9
            and FINANCIALTRANSACTION.DELETEDON is null

        select @ISPAYMENTTHROUGHFAFEVENT=1 
        from dbo.FINANCIALTRANSACTION R
        inner join dbo.REVENUE_EXT on R.ID = REVENUE_EXT.ID
        join dbo.FINANCIALTRANSACTIONLINEITEM RS on R.ID = RS.FINANCIALTRANSACTIONID
        inner join dbo.REVENUESPLIT_EXT on RS.ID = REVENUESPLIT_EXT.ID
        join dbo.EVENT E on REVENUE_EXT.APPEALID = E.APPEALID
        join dbo.EVENTEXTENSION EX on E.ID = EX.EVENTID
        where RS.ID = @ID
            and R.DELETEDON is null
            and RS.DELETEDON is null
            and RS.TYPECODE <> 1

        select @ISINDIVIDUAL = 1
        from dbo.CONSTITUENT
        where
          ID = @CONSTITUENTID
          and ISORGANIZATION = 0
          and ISGROUP = 0
          and ISCONSTITUENT = 1

        set @ATTRIBUTEDEFINED = dbo.UFN_ATTRIBUTECATEGORY_DEFINEDFORRECORDTYPE_FORAPPUSER('FINANCIAL TRANSACTION LINE ITEM', @CURRENTAPPUSERID);

        return 0;