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;