USP_REVENUESPLITGIFTAIDAMOUNTS_REFRESH
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@IDSETREGISTERID | uniqueidentifier | IN | |
@RECORDCOUNT | int | INOUT |
Definition
Copy
CREATE procedure dbo.USP_REVENUESPLITGIFTAIDAMOUNTS_REFRESH
(
@IDSETREGISTERID uniqueidentifier = null,
@RECORDCOUNT int = 0 output
)
as
begin
set nocount on;
begin try
set @RECORDCOUNT = 0;
declare @CURRENTDATE datetime = getdate();
declare @SELECTION nvarchar(250) = '';
if @IDSETREGISTERID is not null
begin
set @SELECTION = N'inner join dbo.UFN_IDSETREADER_GETRESULTS_GUID(@IDSETREGISTERID) REVENUESELECTION on REVENUE.ID = REVENUESELECTION.ID';
end
declare @SQL nvarchar(max);
--inserts
set @SQL = N'insert into dbo.REVENUESPLITGIFTAIDAMOUNTS
(
ID,
ELIGIBILITYCODE,
DECLINESGIFTAID,
ISSPONSORSHIP,
TAXCLAIMNUMBER,
QUALIFICATIONSTATUS,
TAXCLAIMAMOUNT,
TRANSACTIONTAXCLAIMAMOUNT,
ORGANIZATIONTAXCLAIMAMOUNT,
CLAIMABLEGIFTAIDAMOUNT,
TRANSACTIONCLAIMABLEGIFTAIDAMOUNT,
ORGANIZATIONCLAIMABLEGIFTAIDAMOUNT,
RECEIVEDGIFTAIDAMOUNT,
TRANSACTIONRECEIVEDGIFTAIDAMOUNT,
ORGANIZATIONRECEIVEDGIFTAIDAMOUNT,
GROSSAMOUNT,
TRANSACTIONGROSSAMOUNT,
ORGANIZATIONGROSSAMOUNT,
POTENTIALGROSSAMOUNT,
TRANSACTIONPOTENTIALGROSSAMOUNT,
ORGANIZATIONPOTENTIALGROSSAMOUNT,
ORGANIZATIONEXCHANGERATEID,
BASEEXCHANGERATEID,
BASECURRENCYID,
TRANSACTIONCURRENCYID,
REFRESHDATE,
REVENUESPLITGIFTAIDDATEADDED,
REVENUESPLITGIFTAIDDATECHANGED,
REVENUESPLITGIFTAIDADDEDBYUSERNAME,
REVENUESPLITGIFTAIDCHANGEDBYUSERNAME,
REVENUESPLITGIFTAIDTS,
FINANCIALTRANSACTIONID,
REVENUEORGANIZATIONEXCHANGERATEID,
REVENUEBASEEXCHANGERATEID,
REVENUETRANSACTIONCURRENCYID,
REVENUEBASECURRENCYID,
REVENUEDATEADDED,
REVENUEDATECHANGED,
REVENUEADDEDBYUSERNAME,
REVENUECHANGEDBYUSERNAME,
REVENUETS
)
select
REVENUESPLIT.ID,
coalesce(REVENUESPLITGIFTAIDELIGIBILITY.ELIGIBILITY,0),
coalesce(REVENUESPLITGIFTAID.DECLINESGIFTAID,0),
coalesce(REVENUESPLITGIFTAID.ISSPONSORSHIP,0),
coalesce(REVENUESPLITGIFTAID.TAXCLAIMNUMBER,''''),
case
when REVENUESPLITGIFTAID.DECLINESGIFTAID is null or REVENUESPLITGIFTAID.DECLINESGIFTAID = 1 or RULES_STATUS = 0 or ATTRIBUTES_STATUS = 0 or CONSTITUENT.ISGROUP = 1 or CONSTITUENT.ISORGANIZATION = 1 then ''Not qualified''
else ''Qualified for Gift Aid''
end as [QUALIFICATIONSTATUS],
case
when REVENUESPLITGIFTAID.DECLINESGIFTAID is null or REVENUESPLITGIFTAID.DECLINESGIFTAID = 1 or RULES_STATUS = 0 or ATTRIBUTES_STATUS = 0 or CONSTITUENT.ISGROUP = 1 or CONSTITUENT.ISORGANIZATION = 1
then 0
when REVENUE.TYPECODE = 0
then coalesce(REVENUESPLITGIFTAID.TAXCLAIMAMOUNT,0)
when REVENUE.TYPECODE = 1
then coalesce(PLEDGETAXCLAIMAMOUNT.TAXCLAIMAMOUNT, 0)
when REVENUE.TYPECODE = 2
then coalesce(RECURRINGGIFTTAXCLAIMAMOUNT.TAXCLAIMAMOUNT, 0)
else 0
end as [TAXCLAIMAMOUNT],
case
when REVENUESPLITGIFTAID.DECLINESGIFTAID is null or REVENUESPLITGIFTAID.DECLINESGIFTAID = 1 or RULES_STATUS = 0 or ATTRIBUTES_STATUS = 0 or CONSTITUENT.ISGROUP = 1 or CONSTITUENT.ISORGANIZATION = 1
then 0
when REVENUE.TYPECODE = 0
then REVENUESPLITGIFTAID.TRANSACTIONTAXCLAIMAMOUNT
when REVENUE.TYPECODE = 1
then coalesce(PLEDGETAXCLAIMAMOUNT.TRANSACTIONTAXCLAIMAMOUNT, 0)
when REVENUE.TYPECODE = 2
then coalesce(RECURRINGGIFTTAXCLAIMAMOUNT.TRANSACTIONTAXCLAIMAMOUNT, 0)
else 0
end as [TRANSACTIONTAXCLAIMAMOUNT],
case
when REVENUESPLITGIFTAID.DECLINESGIFTAID is null or REVENUESPLITGIFTAID.DECLINESGIFTAID = 1 or RULES_STATUS = 0 or ATTRIBUTES_STATUS = 0 or CONSTITUENT.ISGROUP = 1 or CONSTITUENT.ISORGANIZATION = 1
then 0
when REVENUE.TYPECODE = 0
then REVENUESPLITGIFTAID.ORGANIZATIONTAXCLAIMAMOUNT
when REVENUE.TYPECODE = 1
then coalesce(PLEDGETAXCLAIMAMOUNT.ORGANIZATIONTAXCLAIMAMOUNT, 0)
when REVENUE.TYPECODE = 2
then coalesce(RECURRINGGIFTTAXCLAIMAMOUNT.ORGANIZATIONTAXCLAIMAMOUNT, 0)
else 0
end as [ORGANIZATIONTAXCLAIMAMOUNT],
case
when REVENUE.TYPECODE = 0 and
CONSTITUENT.ISGROUP = 0 and
CONSTITUENT.ISORGANIZATION = 0 and
REVENUESPLITGIFTAID.TAXCLAIMNUMBER = '''' and -- Ensure the split hasn''t already been received
REVENUESPLITGIFTAIDELIGIBILITY.ELIGIBILITY not in (0, 1) and
REVENUESPLITGIFTAID.DECLINESGIFTAID = 0 and
RULES_STATUS = 1 and
ATTRIBUTES_STATUS = 1
then REVENUESPLITGIFTAID.TAXCLAIMAMOUNT
else 0
end as CLAIMABLEGIFTAIDAMOUNT,
case
when REVENUE.TYPECODE = 0 and
CONSTITUENT.ISGROUP = 0 and
CONSTITUENT.ISORGANIZATION = 0 and
REVENUESPLITGIFTAID.TAXCLAIMNUMBER = '''' and -- Ensure the split hasn''t already been received
REVENUESPLITGIFTAIDELIGIBILITY.ELIGIBILITY not in (0, 1) and
REVENUESPLITGIFTAID.DECLINESGIFTAID = 0 and
RULES_STATUS = 1 and
ATTRIBUTES_STATUS = 1
then REVENUESPLITGIFTAID.TRANSACTIONTAXCLAIMAMOUNT
else 0
end as TRANSACTIONCLAIMABLEGIFTAIDAMOUNT,
case
when REVENUE.TYPECODE = 0 and
CONSTITUENT.ISGROUP = 0 and
CONSTITUENT.ISORGANIZATION = 0 and
REVENUESPLITGIFTAID.TAXCLAIMNUMBER = '''' and -- Ensure the split hasn''t already been received
REVENUESPLITGIFTAIDELIGIBILITY.ELIGIBILITY not in (0, 1) and
REVENUESPLITGIFTAID.DECLINESGIFTAID = 0 and
RULES_STATUS = 1 and
ATTRIBUTES_STATUS = 1
then REVENUESPLITGIFTAID.ORGANIZATIONTAXCLAIMAMOUNT
else 0
end as ORGANIZATIONCLAIMABLEGIFTAIDAMOUNT,
case
when REVENUESPLITGIFTAID.TAXCLAIMNUMBER <> '''' then REVENUESPLITGIFTAID.TAXCLAIMAMOUNT
else 0
end as RECEIVEDGIFTAIDAMOUNT,
case
when REVENUESPLITGIFTAID.TAXCLAIMNUMBER <> '''' then REVENUESPLITGIFTAID.TRANSACTIONTAXCLAIMAMOUNT
else 0
end as TRANSACTIONRECEIVEDGIFTAIDAMOUNT,
case
when REVENUESPLITGIFTAID.TAXCLAIMNUMBER <> '''' then REVENUESPLITGIFTAID.ORGANIZATIONTAXCLAIMAMOUNT
else 0
end as ORGANIZATIONRECEIVEDGIFTAIDAMOUNT,
case
when REVENUESPLITGIFTAID.DECLINESGIFTAID is null
or REVENUESPLITGIFTAIDELIGIBILITY.ELIGIBILITY not in (2,3,4)
or REVENUESPLITGIFTAID.DECLINESGIFTAID = 1
or REVENUESPLITGIFTAID.RULES_STATUS = 0
or REVENUESPLITGIFTAID.ATTRIBUTES_STATUS = 0
or CONSTITUENT.ISGROUP = 1
or CONSTITUENT.ISORGANIZATION = 1
then REVENUESPLIT.BASEAMOUNT
when REVENUE.TYPECODE = 0
then REVENUESPLIT.BASEAMOUNT + case when REVENUESPLITGIFTAID.TRANSITIONALTAXCLAIMAMOUNT = 0 then REVENUESPLITGIFTAID.BASETAXCLAIMAMOUNT
when RELIEFNOTEXPIRED.ID is not null then BASETAXCLAIMAMOUNT + TRANSITIONALTAXCLAIMAMOUNT
else coalesce(BASETAXCLAIMAMOUNT,0)
end
when REVENUE.TYPECODE = 1
then REVENUESPLIT.BASEAMOUNT + coalesce(PLEDGETAXCLAIMAMOUNT.TAXCLAIMAMOUNT, 0)
when REVENUE.TYPECODE = 2
then REVENUESPLIT.BASEAMOUNT + coalesce(RECURRINGGIFTTAXCLAIMAMOUNT.TAXCLAIMAMOUNT, 0)
else REVENUESPLIT.BASEAMOUNT
end as [GROSSAMOUNT],
case
when REVENUESPLITGIFTAID.DECLINESGIFTAID is null or REVENUESPLITGIFTAIDELIGIBILITY.ELIGIBILITY not in (2,3,4) or REVENUESPLITGIFTAID.DECLINESGIFTAID = 1 or RULES_STATUS = 0 or ATTRIBUTES_STATUS = 0 or CONSTITUENT.ISGROUP = 1 or CONSTITUENT.ISORGANIZATION = 1
then REVENUESPLIT.TRANSACTIONAMOUNT
when REVENUE.TYPECODE = 0
then REVENUESPLIT.TRANSACTIONAMOUNT + REVENUESPLITGIFTAID.TRANSACTIONTAXCLAIMAMOUNT
when REVENUE.TYPECODE = 1
then REVENUESPLIT.TRANSACTIONAMOUNT + coalesce(PLEDGETAXCLAIMAMOUNT.TRANSACTIONTAXCLAIMAMOUNT, 0)
when REVENUE.TYPECODE = 2
then REVENUESPLIT.TRANSACTIONAMOUNT + coalesce(RECURRINGGIFTTAXCLAIMAMOUNT.TRANSACTIONTAXCLAIMAMOUNT, 0)
else REVENUESPLIT.TRANSACTIONAMOUNT
end as [TRANSACTIONGROSSAMOUNT],
case
when REVENUESPLITGIFTAID.DECLINESGIFTAID is null or REVENUESPLITGIFTAIDELIGIBILITY.ELIGIBILITY not in (2,3,4) or REVENUESPLITGIFTAID.DECLINESGIFTAID = 1 or RULES_STATUS = 0 or ATTRIBUTES_STATUS = 0 or CONSTITUENT.ISGROUP = 1 or CONSTITUENT.ISORGANIZATION = 1
then REVENUESPLIT.ORGAMOUNT
when REVENUE.TYPECODE = 0
then REVENUESPLIT.ORGAMOUNT + REVENUESPLITGIFTAID.ORGANIZATIONTAXCLAIMAMOUNT
when REVENUE.TYPECODE = 1
then REVENUESPLIT.ORGAMOUNT + coalesce(PLEDGETAXCLAIMAMOUNT.ORGANIZATIONTAXCLAIMAMOUNT, 0)
when REVENUE.TYPECODE = 2
then REVENUESPLIT.ORGAMOUNT + coalesce(RECURRINGGIFTTAXCLAIMAMOUNT.ORGANIZATIONTAXCLAIMAMOUNT, 0)
else REVENUESPLIT.ORGAMOUNT
end as [ORGANIZATIONGROSSAMOUNT],
case
when REVENUESPLITGIFTAID.DECLINESGIFTAID is null or REVENUESPLITGIFTAID.DECLINESGIFTAID = 1 or RULES_STATUS = 0 or ATTRIBUTES_STATUS = 0 or CONSTITUENT.ISGROUP = 1 or CONSTITUENT.ISORGANIZATION = 1
then REVENUESPLIT.BASEAMOUNT
when REVENUE.TYPECODE = 0
then REVENUESPLIT.BASEAMOUNT + REVENUESPLITGIFTAID.TAXCLAIMAMOUNT
when REVENUE.TYPECODE = 1
then REVENUESPLIT.BASEAMOUNT + coalesce(PLEDGETAXCLAIMAMOUNT.TAXCLAIMAMOUNT, 0)
when REVENUE.TYPECODE = 2
then REVENUESPLIT.BASEAMOUNT + coalesce(RECURRINGGIFTTAXCLAIMAMOUNT.TAXCLAIMAMOUNT, 0)
else REVENUESPLIT.BASEAMOUNT
end as [POTENTIALGROSSAMOUNT],
case
when REVENUESPLITGIFTAID.DECLINESGIFTAID is null or REVENUESPLITGIFTAID.DECLINESGIFTAID = 1 or RULES_STATUS = 0 or ATTRIBUTES_STATUS = 0 or CONSTITUENT.ISGROUP = 1 or CONSTITUENT.ISORGANIZATION = 1
then REVENUESPLIT.TRANSACTIONAMOUNT
when REVENUE.TYPECODE = 0
then REVENUESPLIT.TRANSACTIONAMOUNT + REVENUESPLITGIFTAID.TRANSACTIONTAXCLAIMAMOUNT
when REVENUE.TYPECODE = 1
then REVENUESPLIT.TRANSACTIONAMOUNT + coalesce(PLEDGETAXCLAIMAMOUNT.TRANSACTIONTAXCLAIMAMOUNT, 0)
when REVENUE.TYPECODE = 2
then REVENUESPLIT.TRANSACTIONAMOUNT + coalesce(RECURRINGGIFTTAXCLAIMAMOUNT.TRANSACTIONTAXCLAIMAMOUNT, 0)
else REVENUESPLIT.TRANSACTIONAMOUNT
end as [TRANSACTIONPOTENTIALGROSSAMOUNT],
case
when REVENUESPLITGIFTAID.DECLINESGIFTAID is null or REVENUESPLITGIFTAID.DECLINESGIFTAID = 1 or RULES_STATUS = 0 or ATTRIBUTES_STATUS = 0 or CONSTITUENT.ISGROUP = 1 or CONSTITUENT.ISORGANIZATION = 1
then REVENUESPLIT.ORGAMOUNT
when REVENUE.TYPECODE = 0
then REVENUESPLIT.ORGAMOUNT + REVENUESPLITGIFTAID.ORGANIZATIONTAXCLAIMAMOUNT
when REVENUE.TYPECODE = 1
then REVENUESPLIT.ORGAMOUNT + coalesce(PLEDGETAXCLAIMAMOUNT.ORGANIZATIONTAXCLAIMAMOUNT, 0)
when REVENUE.TYPECODE = 2
then REVENUESPLIT.ORGAMOUNT + coalesce(RECURRINGGIFTTAXCLAIMAMOUNT.ORGANIZATIONTAXCLAIMAMOUNT, 0)
else REVENUESPLIT.ORGAMOUNT
end as [ORGANIZATIONPOTENTIALGROSSAMOUNT],
coalesce(REVENUESPLITGIFTAID.ORGANIZATIONEXCHANGERATEID,REVENUE.ORGEXCHANGERATEID) as ORGANIZATIONEXCHANGERATEID,
coalesce(REVENUESPLITGIFTAID.BASEEXCHANGERATEID,REVENUE.BASEEXCHANGERATEID) as BASEEXCHANGERATEID,
coalesce(REVENUESPLITGIFTAID.BASECURRENCYID,REVENUE_EXT.NONPOSTABLEBASECURRENCYID, V.BASECURRENCYID) as BASECURRENCYID,
coalesce(REVENUESPLITGIFTAID.TRANSACTIONCURRENCYID,REVENUE.TRANSACTIONCURRENCYID) as TRANSACTIONCURRENCYID,
@CURRENTDATEPARAMETER,
REVENUESPLITGIFTAID.DATEADDED,
REVENUESPLITGIFTAID.DATECHANGED,
coalesce([ADDEDBY].USERNAME,''''),
coalesce([CHANGEDBY].USERNAME,''''),
(select max(v) from (values (REVENUESPLIT.TS), (REVENUE.TS), (REVENUESPLITGIFTAID.TS)) as value(v)),
REVENUESPLIT.FINANCIALTRANSACTIONID,
REVENUE.ORGEXCHANGERATEID,
REVENUE.BASEEXCHANGERATEID,
REVENUE.TRANSACTIONCURRENCYID,
isnull(REVENUE_EXT.NONPOSTABLEBASECURRENCYID, V.BASECURRENCYID) as BASECURRENCYID,
REVENUE.DATEADDED,
REVENUE.DATECHANGED,
coalesce(REVENUEADDEDBY.USERNAME,''''),
coalesce(REVENUECHANGEDBY.USERNAME,''''),
REVENUE.TS
from
dbo.FINANCIALTRANSACTIONLINEITEM REVENUESPLIT
left join dbo.REVENUESPLITGIFTAIDAMOUNTS on REVENUESPLIT.ID = REVENUESPLITGIFTAIDAMOUNTS.ID
left join dbo.REVENUESPLITGIFTAID on REVENUESPLITGIFTAID.ID = REVENUESPLIT.ID
inner join dbo.REVENUESPLIT_EXT on REVENUESPLIT.ID = REVENUESPLIT_EXT.ID
inner join dbo.FINANCIALTRANSACTION REVENUE with (nolock) on REVENUESPLIT.FINANCIALTRANSACTIONID = REVENUE.ID ' +
@SELECTION + N'
inner join dbo.REVENUE_EXT on REVENUE.ID = REVENUE_EXT.ID
inner join dbo.CONSTITUENT on REVENUE.CONSTITUENTID = CONSTITUENT.ID
left outer join dbo.V_BASECURRENCYFORFINANCIALTRANSACTION_I V with (noexpand) on REVENUE.ID = V.FINANCIALTRANSACTIONID
outer apply dbo.UFN_GIFTAIDREVENUESPLIT_GETTAXCLAIMELIGIBILITYSTATUS_INLINE_2(REVENUESPLIT.ID) as REVENUESPLITGIFTAIDELIGIBILITY
left join dbo.UFN_GIFTAIDREVENUESPLIT_CALCULATEPLEDGETAXCLAIMAMOUNT_ALLCURRENCYTYPES() as PLEDGETAXCLAIMAMOUNT on REVENUESPLIT.ID = PLEDGETAXCLAIMAMOUNT.REVENUESPLITID
left join dbo.UFN_GIFTAIDREVENUESPLIT_CALCULATERECURRINGGIFTTAXCLAIMAMOUNT_INLINE() as RECURRINGGIFTTAXCLAIMAMOUNT on REVENUESPLIT.ID = RECURRINGGIFTTAXCLAIMAMOUNT.REVENUESPLITID
left join dbo.UFN_REVENUESPLITGIFTAID_GETTRANSITIONALRELIEFNOTEXPIRED() as RELIEFNOTEXPIRED on RELIEFNOTEXPIRED.ID = REVENUESPLITGIFTAID.ID
left join dbo.CHANGEAGENT as [ADDEDBY] on ADDEDBY.ID = REVENUESPLITGIFTAID.ADDEDBYID
left join dbo.CHANGEAGENT as [CHANGEDBY] on CHANGEDBY.ID = REVENUESPLITGIFTAID.CHANGEDBYID
left join dbo.CHANGEAGENT as [REVENUEADDEDBY] on REVENUEADDEDBY.ID = REVENUE.ADDEDBYID
left join dbo.CHANGEAGENT as [REVENUECHANGEDBY] on REVENUECHANGEDBY.ID = REVENUE.CHANGEDBYID
where
REVENUE.DELETEDON is null
and REVENUESPLIT.DELETEDON is null
and REVENUESPLIT.TYPECODE <> 1
and REVENUESPLITGIFTAIDAMOUNTS.ID is null
'
exec sp_executesql @SQL, N'@CURRENTDATEPARAMETER datetime, @IDSETREGISTERID uniqueidentifier', @CURRENTDATEPARAMETER = @CURRENTDATE, @IDSETREGISTERID = @IDSETREGISTERID;
set @RECORDCOUNT = @RECORDCOUNT + @@ROWCOUNT;
--updates
declare @UPDATESQL nvarchar(max);
set @UPDATESQL = N'
;with GIFTAID_CTE as (
select
REVENUESPLIT.ID as ID,
coalesce(REVENUESPLITGIFTAIDELIGIBILITY.ELIGIBILITY,0) as ELIGIBILITY,
coalesce(REVENUESPLITGIFTAID.DECLINESGIFTAID,0) as DECLINESGIFTAID,
coalesce(REVENUESPLITGIFTAID.ISSPONSORSHIP,0) as ISSPONSORSHIP,
coalesce(REVENUESPLITGIFTAID.TAXCLAIMNUMBER,'''') as TAXCLAIMNUMBER,
case
when REVENUESPLITGIFTAID.DECLINESGIFTAID is null or REVENUESPLITGIFTAID.DECLINESGIFTAID = 1 or RULES_STATUS = 0 or ATTRIBUTES_STATUS = 0 or CONSTITUENT.ISGROUP = 1 or CONSTITUENT.ISORGANIZATION = 1 then ''Not qualified''
else ''Qualified for Gift Aid''
end as [QUALIFICATIONSTATUS],
case
when REVENUESPLITGIFTAID.DECLINESGIFTAID is null or REVENUESPLITGIFTAID.DECLINESGIFTAID = 1 or RULES_STATUS = 0 or ATTRIBUTES_STATUS = 0 or CONSTITUENT.ISGROUP = 1 or CONSTITUENT.ISORGANIZATION = 1
then 0
when REVENUE.TYPECODE = 0
then coalesce(REVENUESPLITGIFTAID.TAXCLAIMAMOUNT,0)
when REVENUE.TYPECODE = 1
then coalesce(PLEDGETAXCLAIMAMOUNT.TAXCLAIMAMOUNT, 0)
when REVENUE.TYPECODE = 2
then coalesce(RECURRINGGIFTTAXCLAIMAMOUNT.TAXCLAIMAMOUNT, 0)
else 0
end as [TAXCLAIMAMOUNT],
case
when REVENUESPLITGIFTAID.DECLINESGIFTAID is null or REVENUESPLITGIFTAID.DECLINESGIFTAID = 1 or RULES_STATUS = 0 or ATTRIBUTES_STATUS = 0 or CONSTITUENT.ISGROUP = 1 or CONSTITUENT.ISORGANIZATION = 1
then 0
when REVENUE.TYPECODE = 0
then coalesce(REVENUESPLITGIFTAID.TRANSACTIONTAXCLAIMAMOUNT,0)
when REVENUE.TYPECODE = 1
then coalesce(PLEDGETAXCLAIMAMOUNT.TRANSACTIONTAXCLAIMAMOUNT, 0)
when REVENUE.TYPECODE = 2
then coalesce(RECURRINGGIFTTAXCLAIMAMOUNT.TRANSACTIONTAXCLAIMAMOUNT, 0)
else 0
end as [TRANSACTIONTAXCLAIMAMOUNT],
case
when REVENUESPLITGIFTAID.DECLINESGIFTAID is null or REVENUESPLITGIFTAID.DECLINESGIFTAID = 1 or RULES_STATUS = 0 or ATTRIBUTES_STATUS = 0 or CONSTITUENT.ISGROUP = 1 or CONSTITUENT.ISORGANIZATION = 1
then 0
when REVENUE.TYPECODE = 0
then coalesce(REVENUESPLITGIFTAID.ORGANIZATIONTAXCLAIMAMOUNT,0)
when REVENUE.TYPECODE = 1
then coalesce(PLEDGETAXCLAIMAMOUNT.ORGANIZATIONTAXCLAIMAMOUNT, 0)
when REVENUE.TYPECODE = 2
then coalesce(RECURRINGGIFTTAXCLAIMAMOUNT.ORGANIZATIONTAXCLAIMAMOUNT, 0)
else 0
end as [ORGANIZATIONTAXCLAIMAMOUNT],
case
when REVENUE.TYPECODE = 0 and
CONSTITUENT.ISGROUP = 0 and
CONSTITUENT.ISORGANIZATION = 0 and
REVENUESPLITGIFTAID.TAXCLAIMNUMBER = '''' and
REVENUESPLITGIFTAIDELIGIBILITY.ELIGIBILITY not in (0, 1) and
REVENUESPLITGIFTAID.DECLINESGIFTAID = 0 and
RULES_STATUS = 1 and
ATTRIBUTES_STATUS = 1
then REVENUESPLITGIFTAID.TAXCLAIMAMOUNT
else 0
end as CLAIMABLEGIFTAIDAMOUNT,
case
when REVENUE.TYPECODE = 0 and
CONSTITUENT.ISGROUP = 0 and
CONSTITUENT.ISORGANIZATION = 0 and
REVENUESPLITGIFTAID.TAXCLAIMNUMBER = '''' and
REVENUESPLITGIFTAIDELIGIBILITY.ELIGIBILITY not in (0, 1) and
REVENUESPLITGIFTAID.DECLINESGIFTAID = 0 and
RULES_STATUS = 1 and
ATTRIBUTES_STATUS = 1
then REVENUESPLITGIFTAID.TRANSACTIONTAXCLAIMAMOUNT
else 0
end as TRANSACTIONCLAIMABLEGIFTAIDAMOUNT,
case
when REVENUE.TYPECODE = 0 and
CONSTITUENT.ISGROUP = 0 and
CONSTITUENT.ISORGANIZATION = 0 and
REVENUESPLITGIFTAID.TAXCLAIMNUMBER = '''' and
REVENUESPLITGIFTAIDELIGIBILITY.ELIGIBILITY not in (0, 1) and
REVENUESPLITGIFTAID.DECLINESGIFTAID = 0 and
RULES_STATUS = 1 and
ATTRIBUTES_STATUS = 1
then REVENUESPLITGIFTAID.ORGANIZATIONTAXCLAIMAMOUNT
else 0
end as ORGANIZATIONCLAIMABLEGIFTAIDAMOUNT,
case
when REVENUESPLITGIFTAID.TAXCLAIMNUMBER <> '''' then REVENUESPLITGIFTAID.TAXCLAIMAMOUNT
else 0
end as RECEIVEDGIFTAIDAMOUNT,
case
when REVENUESPLITGIFTAID.TAXCLAIMNUMBER <> '''' then REVENUESPLITGIFTAID.TRANSACTIONTAXCLAIMAMOUNT
else 0
end as TRANSACTIONRECEIVEDGIFTAIDAMOUNT,
case
when REVENUESPLITGIFTAID.TAXCLAIMNUMBER <> '''' then REVENUESPLITGIFTAID.ORGANIZATIONTAXCLAIMAMOUNT
else 0
end as ORGANIZATIONRECEIVEDGIFTAIDAMOUNT,
case
when REVENUESPLITGIFTAID.DECLINESGIFTAID is null
or REVENUESPLITGIFTAIDELIGIBILITY.ELIGIBILITY not in (2,3,4)
or REVENUESPLITGIFTAID.DECLINESGIFTAID = 1
or REVENUESPLITGIFTAID.RULES_STATUS = 0
or REVENUESPLITGIFTAID.ATTRIBUTES_STATUS = 0
or CONSTITUENT.ISGROUP = 1
or CONSTITUENT.ISORGANIZATION = 1
then REVENUESPLIT.BASEAMOUNT
when REVENUE.TYPECODE = 0
then REVENUESPLIT.BASEAMOUNT + case when REVENUESPLITGIFTAID.TRANSITIONALTAXCLAIMAMOUNT = 0 then REVENUESPLITGIFTAID.BASETAXCLAIMAMOUNT
when RELIEFNOTEXPIRED.ID is not null then BASETAXCLAIMAMOUNT + TRANSITIONALTAXCLAIMAMOUNT
else coalesce(BASETAXCLAIMAMOUNT,0)
end
when REVENUE.TYPECODE = 1
then REVENUESPLIT.BASEAMOUNT + coalesce(PLEDGETAXCLAIMAMOUNT.TAXCLAIMAMOUNT, 0)
when REVENUE.TYPECODE = 2
then REVENUESPLIT.BASEAMOUNT + coalesce(RECURRINGGIFTTAXCLAIMAMOUNT.TAXCLAIMAMOUNT, 0)
else REVENUESPLIT.BASEAMOUNT
end as [GROSSAMOUNT],
case
when REVENUESPLITGIFTAID.DECLINESGIFTAID is null or REVENUESPLITGIFTAIDELIGIBILITY.ELIGIBILITY not in (2,3,4) or REVENUESPLITGIFTAID.DECLINESGIFTAID = 1 or RULES_STATUS = 0 or ATTRIBUTES_STATUS = 0 or CONSTITUENT.ISGROUP = 1 or CONSTITUENT.ISORGANIZATION = 1
then REVENUESPLIT.TRANSACTIONAMOUNT
when REVENUE.TYPECODE = 0
then REVENUESPLIT.TRANSACTIONAMOUNT + REVENUESPLITGIFTAID.TRANSACTIONTAXCLAIMAMOUNT
when REVENUE.TYPECODE = 1
then REVENUESPLIT.TRANSACTIONAMOUNT + coalesce(PLEDGETAXCLAIMAMOUNT.TRANSACTIONTAXCLAIMAMOUNT, 0)
when REVENUE.TYPECODE = 2
then REVENUESPLIT.TRANSACTIONAMOUNT + coalesce(RECURRINGGIFTTAXCLAIMAMOUNT.TRANSACTIONTAXCLAIMAMOUNT, 0)
else REVENUESPLIT.TRANSACTIONAMOUNT
end as [TRANSACTIONGROSSAMOUNT],
case
when REVENUESPLITGIFTAID.DECLINESGIFTAID is null or REVENUESPLITGIFTAIDELIGIBILITY.ELIGIBILITY not in (2,3,4) or REVENUESPLITGIFTAID.DECLINESGIFTAID = 1 or RULES_STATUS = 0 or ATTRIBUTES_STATUS = 0 or CONSTITUENT.ISGROUP = 1 or CONSTITUENT.ISORGANIZATION = 1
then REVENUESPLIT.ORGAMOUNT
when REVENUE.TYPECODE = 0
then REVENUESPLIT.ORGAMOUNT + REVENUESPLITGIFTAID.ORGANIZATIONTAXCLAIMAMOUNT
when REVENUE.TYPECODE = 1
then REVENUESPLIT.ORGAMOUNT + coalesce(PLEDGETAXCLAIMAMOUNT.ORGANIZATIONTAXCLAIMAMOUNT, 0)
when REVENUE.TYPECODE = 2
then REVENUESPLIT.ORGAMOUNT + coalesce(RECURRINGGIFTTAXCLAIMAMOUNT.ORGANIZATIONTAXCLAIMAMOUNT, 0)
else REVENUESPLIT.ORGAMOUNT
end as [ORGANIZATIONGROSSAMOUNT],
case
when REVENUESPLITGIFTAID.DECLINESGIFTAID is null or REVENUESPLITGIFTAID.DECLINESGIFTAID = 1 or RULES_STATUS = 0 or ATTRIBUTES_STATUS = 0 or CONSTITUENT.ISGROUP = 1 or CONSTITUENT.ISORGANIZATION = 1
then REVENUESPLIT.BASEAMOUNT
when REVENUE.TYPECODE = 0
then REVENUESPLIT.BASEAMOUNT + REVENUESPLITGIFTAID.TAXCLAIMAMOUNT
when REVENUE.TYPECODE = 1
then REVENUESPLIT.BASEAMOUNT + coalesce(PLEDGETAXCLAIMAMOUNT.TAXCLAIMAMOUNT, 0)
when REVENUE.TYPECODE = 2
then REVENUESPLIT.BASEAMOUNT + coalesce(RECURRINGGIFTTAXCLAIMAMOUNT.TAXCLAIMAMOUNT, 0)
else REVENUESPLIT.BASEAMOUNT
end as [POTENTIALGROSSAMOUNT],
case
when REVENUESPLITGIFTAID.DECLINESGIFTAID is null or REVENUESPLITGIFTAID.DECLINESGIFTAID = 1 or RULES_STATUS = 0 or ATTRIBUTES_STATUS = 0 or CONSTITUENT.ISGROUP = 1 or CONSTITUENT.ISORGANIZATION = 1
then REVENUESPLIT.TRANSACTIONAMOUNT
when REVENUE.TYPECODE = 0
then REVENUESPLIT.TRANSACTIONAMOUNT + REVENUESPLITGIFTAID.TRANSACTIONTAXCLAIMAMOUNT
when REVENUE.TYPECODE = 1
then REVENUESPLIT.TRANSACTIONAMOUNT + coalesce(PLEDGETAXCLAIMAMOUNT.TRANSACTIONTAXCLAIMAMOUNT, 0)
when REVENUE.TYPECODE = 2
then REVENUESPLIT.TRANSACTIONAMOUNT + coalesce(RECURRINGGIFTTAXCLAIMAMOUNT.TRANSACTIONTAXCLAIMAMOUNT, 0)
else REVENUESPLIT.TRANSACTIONAMOUNT
end as [TRANSACTIONPOTENTIALGROSSAMOUNT],
case
when REVENUESPLITGIFTAID.DECLINESGIFTAID is null or REVENUESPLITGIFTAID.DECLINESGIFTAID = 1 or RULES_STATUS = 0 or ATTRIBUTES_STATUS = 0 or CONSTITUENT.ISGROUP = 1 or CONSTITUENT.ISORGANIZATION = 1
then REVENUESPLIT.ORGAMOUNT
when REVENUE.TYPECODE = 0
then REVENUESPLIT.ORGAMOUNT + REVENUESPLITGIFTAID.ORGANIZATIONTAXCLAIMAMOUNT
when REVENUE.TYPECODE = 1
then REVENUESPLIT.ORGAMOUNT + coalesce(PLEDGETAXCLAIMAMOUNT.ORGANIZATIONTAXCLAIMAMOUNT, 0)
when REVENUE.TYPECODE = 2
then REVENUESPLIT.ORGAMOUNT + coalesce(RECURRINGGIFTTAXCLAIMAMOUNT.ORGANIZATIONTAXCLAIMAMOUNT, 0)
else REVENUESPLIT.ORGAMOUNT
end as [ORGANIZATIONPOTENTIALGROSSAMOUNT],
coalesce(REVENUESPLITGIFTAID.ORGANIZATIONEXCHANGERATEID,REVENUE.ORGEXCHANGERATEID) as ORGANIZATIONEXCHANGERATEID,
coalesce(REVENUESPLITGIFTAID.BASEEXCHANGERATEID,REVENUE.BASEEXCHANGERATEID) as BASEEXCHANGERATEID,
coalesce(REVENUESPLITGIFTAID.BASECURRENCYID,REVENUE_EXT.NONPOSTABLEBASECURRENCYID, V.BASECURRENCYID) as BASECURRENCYID,
coalesce(REVENUESPLITGIFTAID.TRANSACTIONCURRENCYID,REVENUE.TRANSACTIONCURRENCYID) as TRANSACTIONCURRENCYID,
REVENUESPLITGIFTAID.DATEADDED as REVENUESPLITGIFTAIDDATEADDED,
REVENUESPLITGIFTAID.DATECHANGED as REVENUESPLITGIFTAIDDATECHANGED,
coalesce([ADDEDBY].USERNAME,'''') as REVENUESPLITGIFTAIDADDEDBYUSERNAME,
coalesce([CHANGEDBY].USERNAME,'''') as REVENUESPLITGIFTAIDCHANGEDBYUSERNAME,
(select max(v) from (values (REVENUESPLIT.TS), (REVENUE.TS), (REVENUESPLITGIFTAID.TS)) as value(v)) as MAXTS,
(select max(v) from (values (REVENUESPLIT.TSLONG), (REVENUE.TSLONG), (REVENUESPLITGIFTAID.TSLONG)) as value(v)) as MAXTSLONG,
REVENUESPLIT.FINANCIALTRANSACTIONID,
REVENUE.ORGEXCHANGERATEID as REVENUEORGANIZATIONEXCHANGERATEID,
REVENUE.BASEEXCHANGERATEID as REVENUEBASEEXCHANGERATEID,
REVENUE.TRANSACTIONCURRENCYID as REVENUETRANSACTIONCURRENCYID,
isnull(REVENUE_EXT.NONPOSTABLEBASECURRENCYID, V.BASECURRENCYID) as REVENUEBASECURRENCYID,
REVENUE.DATEADDED as REVENUEDATEADDED,
REVENUE.DATECHANGED as REVENUEDATECHANGED,
coalesce(REVENUEADDEDBY.USERNAME,'''') as REVENUEADDEDBYUSERNAME,
coalesce(REVENUECHANGEDBY.USERNAME,'''') as REVENUECHANGEDBYUSERNAME,
REVENUE.TS as REVENUETS
from
dbo.FINANCIALTRANSACTIONLINEITEM REVENUESPLIT
left join dbo.REVENUESPLITGIFTAID on REVENUESPLITGIFTAID.ID = REVENUESPLIT.ID
inner join dbo.REVENUESPLIT_EXT on REVENUESPLIT.ID = REVENUESPLIT_EXT.ID
inner join dbo.FINANCIALTRANSACTION REVENUE with (nolock) on REVENUESPLIT.FINANCIALTRANSACTIONID = REVENUE.ID ' +
@SELECTION + N'
inner join dbo.REVENUE_EXT on REVENUE.ID = REVENUE_EXT.ID
inner join dbo.CONSTITUENT on REVENUE.CONSTITUENTID = CONSTITUENT.ID
left outer join dbo.V_BASECURRENCYFORFINANCIALTRANSACTION_I V with (noexpand) on REVENUE.ID = V.FINANCIALTRANSACTIONID
outer apply dbo.UFN_GIFTAIDREVENUESPLIT_GETTAXCLAIMELIGIBILITYSTATUS_INLINE_2(REVENUESPLIT.ID) as REVENUESPLITGIFTAIDELIGIBILITY
left join dbo.UFN_GIFTAIDREVENUESPLIT_CALCULATEPLEDGETAXCLAIMAMOUNT_ALLCURRENCYTYPES() as PLEDGETAXCLAIMAMOUNT on REVENUESPLIT.ID = PLEDGETAXCLAIMAMOUNT.REVENUESPLITID
left join dbo.UFN_GIFTAIDREVENUESPLIT_CALCULATERECURRINGGIFTTAXCLAIMAMOUNT_INLINE() as RECURRINGGIFTTAXCLAIMAMOUNT on REVENUESPLIT.ID = RECURRINGGIFTTAXCLAIMAMOUNT.REVENUESPLITID
left join dbo.UFN_REVENUESPLITGIFTAID_GETTRANSITIONALRELIEFNOTEXPIRED() as RELIEFNOTEXPIRED on RELIEFNOTEXPIRED.ID = REVENUESPLITGIFTAID.ID
left join dbo.CHANGEAGENT as [ADDEDBY] on ADDEDBY.ID = REVENUESPLITGIFTAID.ADDEDBYID
left join dbo.CHANGEAGENT as [CHANGEDBY] on CHANGEDBY.ID = REVENUESPLITGIFTAID.CHANGEDBYID
left join dbo.CHANGEAGENT as [REVENUEADDEDBY] on REVENUEADDEDBY.ID = REVENUE.ADDEDBYID
left join dbo.CHANGEAGENT as [REVENUECHANGEDBY] on REVENUECHANGEDBY.ID = REVENUE.CHANGEDBYID
where
REVENUE.DELETEDON is null
and REVENUESPLIT.DELETEDON is null
and REVENUESPLIT.TYPECODE <> 1
)
update
dbo.REVENUESPLITGIFTAIDAMOUNTS
set
REVENUESPLITGIFTAIDAMOUNTS.ELIGIBILITYCODE = GIFTAID_CTE.ELIGIBILITY,
REVENUESPLITGIFTAIDAMOUNTS.DECLINESGIFTAID = GIFTAID_CTE.DECLINESGIFTAID,
REVENUESPLITGIFTAIDAMOUNTS.ISSPONSORSHIP = GIFTAID_CTE.ISSPONSORSHIP,
REVENUESPLITGIFTAIDAMOUNTS.TAXCLAIMNUMBER = GIFTAID_CTE.TAXCLAIMNUMBER,
REVENUESPLITGIFTAIDAMOUNTS.QUALIFICATIONSTATUS = GIFTAID_CTE.QUALIFICATIONSTATUS,
REVENUESPLITGIFTAIDAMOUNTS.TAXCLAIMAMOUNT = GIFTAID_CTE.TAXCLAIMAMOUNT,
REVENUESPLITGIFTAIDAMOUNTS.TRANSACTIONTAXCLAIMAMOUNT = GIFTAID_CTE.TRANSACTIONTAXCLAIMAMOUNT,
REVENUESPLITGIFTAIDAMOUNTS.ORGANIZATIONTAXCLAIMAMOUNT = GIFTAID_CTE.ORGANIZATIONTAXCLAIMAMOUNT,
REVENUESPLITGIFTAIDAMOUNTS.CLAIMABLEGIFTAIDAMOUNT = GIFTAID_CTE.CLAIMABLEGIFTAIDAMOUNT,
REVENUESPLITGIFTAIDAMOUNTS.TRANSACTIONCLAIMABLEGIFTAIDAMOUNT = GIFTAID_CTE.TRANSACTIONCLAIMABLEGIFTAIDAMOUNT,
REVENUESPLITGIFTAIDAMOUNTS.ORGANIZATIONCLAIMABLEGIFTAIDAMOUNT = GIFTAID_CTE.ORGANIZATIONCLAIMABLEGIFTAIDAMOUNT,
REVENUESPLITGIFTAIDAMOUNTS.RECEIVEDGIFTAIDAMOUNT = GIFTAID_CTE.RECEIVEDGIFTAIDAMOUNT,
REVENUESPLITGIFTAIDAMOUNTS.TRANSACTIONRECEIVEDGIFTAIDAMOUNT = GIFTAID_CTE.TRANSACTIONRECEIVEDGIFTAIDAMOUNT,
REVENUESPLITGIFTAIDAMOUNTS.ORGANIZATIONRECEIVEDGIFTAIDAMOUNT = GIFTAID_CTE.ORGANIZATIONRECEIVEDGIFTAIDAMOUNT,
REVENUESPLITGIFTAIDAMOUNTS.GROSSAMOUNT = GIFTAID_CTE.GROSSAMOUNT,
REVENUESPLITGIFTAIDAMOUNTS.TRANSACTIONGROSSAMOUNT = GIFTAID_CTE.TRANSACTIONGROSSAMOUNT,
REVENUESPLITGIFTAIDAMOUNTS.ORGANIZATIONGROSSAMOUNT = GIFTAID_CTE.ORGANIZATIONGROSSAMOUNT,
REVENUESPLITGIFTAIDAMOUNTS.POTENTIALGROSSAMOUNT = GIFTAID_CTE.POTENTIALGROSSAMOUNT,
REVENUESPLITGIFTAIDAMOUNTS.TRANSACTIONPOTENTIALGROSSAMOUNT = GIFTAID_CTE.TRANSACTIONPOTENTIALGROSSAMOUNT,
REVENUESPLITGIFTAIDAMOUNTS.ORGANIZATIONPOTENTIALGROSSAMOUNT = GIFTAID_CTE.ORGANIZATIONPOTENTIALGROSSAMOUNT,
REVENUESPLITGIFTAIDAMOUNTS.ORGANIZATIONEXCHANGERATEID = GIFTAID_CTE.ORGANIZATIONEXCHANGERATEID,
REVENUESPLITGIFTAIDAMOUNTS.BASEEXCHANGERATEID = GIFTAID_CTE.BASEEXCHANGERATEID,
REVENUESPLITGIFTAIDAMOUNTS.BASECURRENCYID = GIFTAID_CTE.BASECURRENCYID,
REVENUESPLITGIFTAIDAMOUNTS.TRANSACTIONCURRENCYID = GIFTAID_CTE.TRANSACTIONCURRENCYID,
REVENUESPLITGIFTAIDAMOUNTS.REVENUESPLITGIFTAIDDATEADDED = GIFTAID_CTE.REVENUESPLITGIFTAIDDATEADDED,
REVENUESPLITGIFTAIDAMOUNTS.REVENUESPLITGIFTAIDDATECHANGED = GIFTAID_CTE.REVENUESPLITGIFTAIDDATECHANGED,
REVENUESPLITGIFTAIDAMOUNTS.REVENUESPLITGIFTAIDADDEDBYUSERNAME = GIFTAID_CTE.REVENUESPLITGIFTAIDADDEDBYUSERNAME,
REVENUESPLITGIFTAIDAMOUNTS.REVENUESPLITGIFTAIDCHANGEDBYUSERNAME = GIFTAID_CTE.REVENUESPLITGIFTAIDCHANGEDBYUSERNAME,
REVENUESPLITGIFTAIDAMOUNTS.REVENUESPLITGIFTAIDTS = GIFTAID_CTE.MAXTS,
REVENUESPLITGIFTAIDAMOUNTS.FINANCIALTRANSACTIONID = GIFTAID_CTE.FINANCIALTRANSACTIONID,
REVENUESPLITGIFTAIDAMOUNTS.REVENUEORGANIZATIONEXCHANGERATEID = GIFTAID_CTE.REVENUEORGANIZATIONEXCHANGERATEID,
REVENUESPLITGIFTAIDAMOUNTS.REVENUEBASEEXCHANGERATEID = GIFTAID_CTE.REVENUEBASEEXCHANGERATEID,
REVENUESPLITGIFTAIDAMOUNTS.REVENUETRANSACTIONCURRENCYID = GIFTAID_CTE.REVENUETRANSACTIONCURRENCYID,
REVENUESPLITGIFTAIDAMOUNTS.REVENUEBASECURRENCYID = GIFTAID_CTE.REVENUEBASECURRENCYID,
REVENUESPLITGIFTAIDAMOUNTS.REVENUEDATEADDED = GIFTAID_CTE.REVENUEDATEADDED,
REVENUESPLITGIFTAIDAMOUNTS.REVENUEDATECHANGED = GIFTAID_CTE.REVENUEDATECHANGED,
REVENUESPLITGIFTAIDAMOUNTS.REVENUEADDEDBYUSERNAME = GIFTAID_CTE.REVENUEADDEDBYUSERNAME,
REVENUESPLITGIFTAIDAMOUNTS.REVENUECHANGEDBYUSERNAME = GIFTAID_CTE.REVENUECHANGEDBYUSERNAME,
REVENUESPLITGIFTAIDAMOUNTS.REVENUETS = GIFTAID_CTE.REVENUETS,
REVENUESPLITGIFTAIDAMOUNTS.REFRESHDATE = @CURRENTDATEPARAMETER
from
GIFTAID_CTE
inner join dbo.REVENUESPLITGIFTAIDAMOUNTS on GIFTAID_CTE.ID = REVENUESPLITGIFTAIDAMOUNTS.ID
where
not
(
REVENUESPLITGIFTAIDAMOUNTS.REVENUESPLITGIFTAIDTSLONG = coalesce(GIFTAID_CTE.MAXTSLONG,0)
and REVENUESPLITGIFTAIDAMOUNTS.ELIGIBILITYCODE = GIFTAID_CTE.ELIGIBILITY
and REVENUESPLITGIFTAIDAMOUNTS.TAXCLAIMAMOUNT = GIFTAID_CTE.TAXCLAIMAMOUNT
and REVENUESPLITGIFTAIDAMOUNTS.TRANSACTIONTAXCLAIMAMOUNT = GIFTAID_CTE.TRANSACTIONTAXCLAIMAMOUNT
and REVENUESPLITGIFTAIDAMOUNTS.ORGANIZATIONTAXCLAIMAMOUNT = GIFTAID_CTE.ORGANIZATIONTAXCLAIMAMOUNT
and REVENUESPLITGIFTAIDAMOUNTS.REVENUESPLITGIFTAIDADDEDBYUSERNAME = GIFTAID_CTE.REVENUESPLITGIFTAIDADDEDBYUSERNAME
and REVENUESPLITGIFTAIDAMOUNTS.REVENUESPLITGIFTAIDCHANGEDBYUSERNAME = GIFTAID_CTE.REVENUESPLITGIFTAIDCHANGEDBYUSERNAME
and REVENUESPLITGIFTAIDAMOUNTS.REVENUEADDEDBYUSERNAME = GIFTAID_CTE.REVENUEADDEDBYUSERNAME
and REVENUESPLITGIFTAIDAMOUNTS.REVENUECHANGEDBYUSERNAME = GIFTAID_CTE.REVENUECHANGEDBYUSERNAME
);
'
exec sp_executesql @UPDATESQL, N'@CURRENTDATEPARAMETER datetime, @IDSETREGISTERID uniqueidentifier', @CURRENTDATEPARAMETER = @CURRENTDATE, @IDSETREGISTERID = @IDSETREGISTERID;
set @RECORDCOUNT = @RECORDCOUNT + @@ROWCOUNT;
--deletes will always clean up all records from the REVENUESPLITGIFTAIDAMOUNTS table that shouldn't belong in it. The selection, if it exists, will not be taken into account.
delete
from
dbo.REVENUESPLITGIFTAIDAMOUNTS
where
REVENUESPLITGIFTAIDAMOUNTS.ID not in
(
select
REVENUESPLIT.ID
from
dbo.FINANCIALTRANSACTIONLINEITEM REVENUESPLIT
inner join dbo.REVENUESPLIT_EXT on REVENUESPLIT.ID = REVENUESPLIT_EXT.ID
inner join dbo.FINANCIALTRANSACTION REVENUE with (nolock) on REVENUESPLIT.FINANCIALTRANSACTIONID = REVENUE.ID
inner join dbo.REVENUE_EXT on REVENUE.ID = REVENUE_EXT.ID
inner join dbo.CONSTITUENT on REVENUE.CONSTITUENTID = CONSTITUENT.ID
where
REVENUE.DELETEDON is null
and REVENUESPLIT.DELETEDON is null
and REVENUESPLIT.TYPECODE <> 1
);
set @RECORDCOUNT = @RECORDCOUNT + @@ROWCOUNT;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
return 0;
end