USP_REPORT_GENERATETRANSACTIONS_EXCEPTION
Returns data used by the Generate Payments Exception Report.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | nvarchar(36) | IN |
Definition
Copy
CREATE procedure dbo.USP_REPORT_GENERATETRANSACTIONS_EXCEPTION
(
@ID nvarchar(36)
)
with execute as owner
as
set nocount on;
declare @TABLENAME nvarchar(255);
declare @SQL nvarchar(4000);
create table #EXCEPTIONDATA(RECORDTYPE nvarchar(100),RECORDID uniqueidentifier,REASON nvarchar(max));
begin try
select @TABLENAME = BUSINESSPROCESSOUTPUT.TABLENAME
from dbo.BUSINESSPROCESSSTATUS
inner join dbo.BUSINESSPROCESSOUTPUT on BUSINESSPROCESSSTATUS.ID = BUSINESSPROCESSOUTPUT.BUSINESSPROCESSSTATUSID
where BUSINESSPROCESSSTATUS.ID = @ID and BUSINESSPROCESSOUTPUT.TABLEKEY = 'EXCEPTIONS';
if (not @TABLENAME is null and not OBJECT_ID(@TABLENAME) is null )
begin
set @SQL='Insert into #EXCEPTIONDATA(RECORDTYPE,RECORDID,REASON) select RECORDTYPE, RECORDID, REASON from dbo.' + @TABLENAME
exec sp_executesql @SQL
end
if exists (select 1 from dbo.#EXCEPTIONDATA where RECORDTYPE<>'MEMBERSHIPBATCH' and isnull(RECORDTYPE,'')<>'' )
begin
select
E.REASON,
E.RECORDID,
CONSTITUENT_NF.NAME,
FINANCIALTRANSACTION.TRANSACTIONAMOUNT,
FINANCIALTRANSACTION.TYPE as TRANSACTIONTYPE,
FINANCIALTRANSACTION.DATE,
'http://www.blackbaud.com?REVENUEID=' + cast(E.RECORDID as nvarchar(max)) as REVENUELINK,
CURRENCY.ISO4217 as ISOCURRENCYCODE,
CURRENCY.DECIMALDIGITS,
CURRENCY.CURRENCYSYMBOL,
CURRENCY.SYMBOLDISPLAYSETTINGCODE as CURRENCYSYMBOLDISPLAYSETTINGCODE
from #EXCEPTIONDATA as E
left join dbo.FINANCIALTRANSACTION on E.RECORDID = FINANCIALTRANSACTION.ID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(FINANCIALTRANSACTION.CONSTITUENTID) CONSTITUENT_NF
left join dbo.CURRENCY on FINANCIALTRANSACTION.TRANSACTIONCURRENCYID = CURRENCY.ID
end
else if exists (select 1 from dbo.#EXCEPTIONDATA where RECORDTYPE='MEMBERSHIPBATCH')
begin
select
E.REASON,
E.RECORDID,
CONSTITUENT_NF.NAME,
BATCHMEMBERSHIPDUESRESTRICTED.TOTALAMOUNT as TRANSACTIONAMOUNT,
'Membership' as TRANSACTIONTYPE,
BATCHMEMBERSHIPDUESRESTRICTED.DATE,
'' as REVENUELINK,
CURRENCY.ISO4217 as ISOCURRENCYCODE,
CURRENCY.DECIMALDIGITS,
CURRENCY.CURRENCYSYMBOL,
CURRENCY.SYMBOLDISPLAYSETTINGCODE as CURRENCYSYMBOLDISPLAYSETTINGCODE
from #EXCEPTIONDATA as E
left join dbo.BATCHMEMBERSHIPDUESRESTRICTED on E.RECORDID = BATCHMEMBERSHIPDUESRESTRICTED.BATCHMEMBERSHIPDUESID
outer apply dbo.UFN_CONSTITUENT_DISPLAYNAME(BATCHMEMBERSHIPDUESRESTRICTED.BILLTOCONSTITUENTID) CONSTITUENT_NF
left join dbo.CURRENCY on BATCHMEMBERSHIPDUESRESTRICTED.TRANSACTIONCURRENCYID = CURRENCY.ID
end
else
select
ID as [REASON],
null as RECORDID,
null as NAME,
null as TRANSACTIONAMOUNT,
null as TRANSACTIONTYPE,
null as [DATE],
null as REVENUELINK,
null as ISOCURRENCYCODE,
null as DECIMALDIGITS,
null as CURRENCYSYMBOL,
null as CURRENCYSYMBOLDISPLAYSETTINGCODE
from dbo.BUSINESSPROCESSSTATUS
where 1 = 0;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch
drop table if exists #EXCEPTIONDATA;
return 0;