USP_REPORT_BBNCEVENTREGISTRATIONBATCHCONTROLREPORT
Returns the data necessary for the Blackbaud Internet Solutions Event Registration Batch Control report.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@BATCHID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.USP_REPORT_BBNCEVENTREGISTRATIONBATCHCONTROLREPORT
(
@BATCHID uniqueidentifier
)
with execute as owner
as
set nocount on;
declare @TABLENAME nvarchar(128);
select @TABLENAME = dbo.UFN_BATCH_GETREPORTTABLENAME(@BATCHID, 0)
declare @CURRENCYFIELD nvarchar(100);
if exists(select * from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @TABLENAME and COLUMN_NAME = 'CURRENCYID')
select @CURRENCYFIELD = 'CURRENCYID';
else
set @CURRENCYFIELD = '''' + cast(coalesce(dbo.UFN_CURRENCY_GETORGANIZATIONCURRENCY(), '00000000-0000-0000-0000-000000000000') as nvarchar(36)) + '''';
declare @SQLTOEXEC nvarchar(max);
IF COL_LENGTH( @TABLENAME , 'BATCHID') IS NULL
BEGIN
set @SQLTOEXEC = N'set nocount on;
with TBL_CTE as
(
select
' + @CURRENCYFIELD + ' as REVENUECURRENCYID
,ID
,DONORNAME
,null as AMOUNT
,null as NUMBEROFREGISTRANTS
,null as APPEAL
,null as EVENT
,null as CONSTITUENTLOOKUPID
,null as DESIGNATION
,null as DATE
,null as PAYMENTMETHOD
,null as ISPLEDGE
,null as ISPAYMENT
,'''' AS REVENUETYPE
from dbo.' + @TABLENAME + '
)
select
VIEWDATA.ID,
BATCH.BATCHNUMBER,
BATCH.STATUS,
EXCEPTIONBATCH.BATCHNUMBER EXCEPTIONBATCHNAME,
coalesce((select USERNAME from dbo.APPUSER where ID = BATCH.APPUSERID), '''') as [OWNER],
BATCH.PROJECTEDNUMBEROFRECORDS,
BATCH.PROJECTEDTOTALAMOUNT,
VIEWDATA.CONSTITUENTLOOKUPID,
VIEWDATA.DONORNAME as CONSTITUENTNAME,
(CONVERT(VARCHAR(10), VIEWDATA.DATE, 101)) AS DATE,
VIEWDATA.AMOUNT,
VIEWDATA.DESIGNATION,
VIEWDATA.APPEAL,
VIEWDATA.PAYMENTMETHOD,
VIEWDATA.REVENUETYPE,
VIEWDATA.EVENT,
VIEWDATA.NUMBEROFREGISTRANTS,
VIEWDATA.ISPLEDGE,
VIEWDATA.ISPAYMENT,
CURRENCY.ISO4217,
CURRENCY.DECIMALDIGITS,
CURRENCY.CURRENCYSYMBOL,
CURRENCY.SYMBOLDISPLAYSETTINGCODE
from TBL_CTE as VIEWDATA
inner join dbo.BATCH on BATCH.ID = @BATCHID
inner join dbo.CURRENCY on CURRENCY.ID = VIEWDATA.REVENUECURRENCYID
/* JamesWill WI200374 2012-07-20 The BATCH.EXCEPTIONBATCHNAME field is only used when overriding the default exception batch number.
So we need to actually look up the exception bathc using the exception batch change data. */
left join
(
select top 1
EXCEPTIONBATCH.ID,
EXCEPTIONBATCH.ORIGINATINGBATCHID,
EXCEPTIONBATCH.BATCHNUMBER
from dbo.BATCH EXCEPTIONBATCH
where EXCEPTIONBATCH.ORIGINATINGBATCHID = @BATCHID
) EXCEPTIONBATCH on EXCEPTIONBATCH.ORIGINATINGBATCHID = BATCH.ID';
END
IF COL_LENGTH( @TABLENAME , 'BATCHID') IS NOT NULL
BEGIN
set @SQLTOEXEC = N'set nocount on;
with TBL_CTE as
(
select distinct
' + @CURRENCYFIELD + ' as REVENUECURRENCYID
,ID
,AMOUNT
,NUMBEROFREGISTRANTS
,APPEAL
,EVENT
,EVENTPRICEID
,DONORNAME
,CONSTITUENTLOOKUPID
,DESIGNATION
,DATE
,PAYMENTMETHOD
,ISPLEDGE
,ISPAYMENT
,BATCHID
,BATCHBBNCEVENTREGISTRATIONID
,case when ISPAYMENT = 1 then ''Payment (Event Registrations)'' else ''None'' end AS REVENUETYPE
from dbo.' + @TABLENAME + '
where BATCHID = @BATCHID
)
select
VIEWDATA.ID,
BATCH.BATCHNUMBER,
BATCH.STATUS,
EXCEPTIONBATCH.BATCHNUMBER EXCEPTIONBATCHNAME,
coalesce((select USERNAME from dbo.APPUSER where ID = BATCH.APPUSERID), '''') as [OWNER],
BATCH.PROJECTEDNUMBEROFRECORDS,
BATCH.PROJECTEDTOTALAMOUNT,
VIEWDATA.CONSTITUENTLOOKUPID,
VIEWDATA.DONORNAME as CONSTITUENTNAME,
(CONVERT(VARCHAR(10), VIEWDATA.DATE, 101)) AS DATE,
VIEWDATA.AMOUNT,
VIEWDATA.DESIGNATION,
VIEWDATA.APPEAL,
VIEWDATA.PAYMENTMETHOD,
VIEWDATA.REVENUETYPE,
VIEWDATA.EVENT,
VIEWDATA.NUMBEROFREGISTRANTS,
VIEWDATA.ISPLEDGE,
VIEWDATA.ISPAYMENT,
CURRENCY.ISO4217,
CURRENCY.DECIMALDIGITS,
CURRENCY.CURRENCYSYMBOL,
CURRENCY.SYMBOLDISPLAYSETTINGCODE
from TBL_CTE as VIEWDATA
inner join dbo.BATCH on BATCH.ID = @BATCHID and BATCH.ID = VIEWDATA.BATCHID
inner join dbo.CURRENCY on CURRENCY.ID = VIEWDATA.REVENUECURRENCYID
/* JamesWill WI200374 2012-07-20 The BATCH.EXCEPTIONBATCHNAME field is only used when overriding the default exception batch number.
So we need to actually look up the exception bathc using the exception batch change data. */
left join
(
select top 1
EXCEPTIONBATCH.ID,
EXCEPTIONBATCH.ORIGINATINGBATCHID,
EXCEPTIONBATCH.BATCHNUMBER
from dbo.BATCH EXCEPTIONBATCH
where EXCEPTIONBATCH.ORIGINATINGBATCHID = @BATCHID
) EXCEPTIONBATCH on EXCEPTIONBATCH.ORIGINATINGBATCHID = BATCH.ID';
END
exec sp_executesql @SQLTOEXEC,
N'@BATCHID uniqueidentifier',
@BATCHID=@BATCHID;