USP_REVENUE_DISQUALIFIED_GIFT_AID_ATTRIBUTE
Sets the revenue ID to not qualified for Gift Aid if due to an attribute.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@REVENUEID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure USP_REVENUE_DISQUALIFIED_GIFT_AID_ATTRIBUTE
(
@REVENUEID as uniqueidentifier
)
as
begin
--We first generate a list or revenue IDs disqualified for Gift Aid and see if this revenue ID is in the list
declare @revenueIDs xml;
declare @sql nvarchar(max);
declare @parameters nvarchar(500);
declare @tempTable table([ID] uniqueidentifier);
if exists (select id from GIFTAIDDISQUALIFIEDBYATTRIBUTE)
begin
set @parameters = N'@revenueIDs_out xml OUTPUT';
exec USP_REVENUE_IDS_DISQUALIFIED_FOR_GIFTAID_BY_ATTRIBUTE @sql output;
set @sql = 'set @revenueIDs_out = (select revenueid as ID from (' + @sql + ') as temptable for XML raw ('
+ '''' + 'ITEM' + '''' + '), type, elements, root(' + '''' + 'REVENUEID' + ''''
+ '), binary base64);'
exec sp_executesql @sql, @parameters, @revenueIDs_out = @revenueIDs output;
insert into @tempTable select T.c.value('(ID)[1]', 'uniqueidentifier') as [ID] from @revenueIDs.nodes('/REVENUEID/ITEM') T(c);
if exists (select ID from @tempTable where ID = @REVENUEID)
begin
update REVENUESPLITGIFTAID set ATTRIBUTES_STATUS = 0 --disqualified
where ID in
(select id from REVENUESPLIT where REVENUEID = @REVENUEID)
end
else
begin
update REVENUESPLITGIFTAID set ATTRIBUTES_STATUS = 1 --qualified
where ID in
(select id from REVENUESPLIT where REVENUEID = @REVENUEID)
end
end
else
begin
update REVENUESPLITGIFTAID set ATTRIBUTES_STATUS = 1 --qualified
where ID in
(select id from REVENUESPLIT where REVENUEID = @REVENUEID)
end
end