USP_BBNC_GETBATCHTRANSACTIONCOUNT
Retrieves a count of records in batches from the instance ID specified for Blackbaud Internet Solutions whose statuses are open, waiting for approval, or approved.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@BATCHID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure [dbo].[USP_BBNC_GETBATCHTRANSACTIONCOUNT](@BATCHID uniqueidentifier)
with execute as owner
as
begin
declare @TABLENAME nvarchar(128);
declare @SQL nvarchar(300);
declare @RECORDCOUNT int;
declare @PARAMS nvarchar(50);
select top 1 @TABLENAME = BATCHTYPECATALOG.BASETABLENAME
from dbo.BATCH
inner join dbo.BATCHTEMPLATE on BATCH.BATCHTEMPLATEID = BATCHTEMPLATE.ID
inner join dbo.BATCHTYPECATALOG on BATCHTEMPLATE.BATCHTYPECATALOGID = BATCHTYPECATALOG.ID
where BATCH.ID = @BATCHID
order by BATCH.DATEADDED;
if not @TABLENAME is null
begin
if @TABLENAME = 'BATCHREVENUE' or @TABLENAME = 'BATCHCONSTITUENTUPDATE' or @TABLENAME = 'BATCHMEMBERSHIPDUES'
begin
--CRM batch types
declare @BBNCTABLENAME nvarchar(150);
set @BBNCTABLENAME = @TABLENAME + N'BBNCINFO';
declare @FKID nvarchar(250);
set @FKID = @TABLENAME + N'ID';
set @SQL = N'select @RECORDCOUNT = count(*) from dbo.' + @TABLENAME + ' inner join dbo.' + @BBNCTABLENAME +
' on dbo.' + @TABLENAME + '.ID = dbo.' + @BBNCTABLENAME + '.' + @FKID + ' where BATCHID = @BATCHID';
end
else
--BBIS batch types
begin
set @SQL = N'select @RECORDCOUNT = count(*) from dbo.' + @TABLENAME + ' where BATCHID = @BATCHID';
end
set @PARAMS = N'@BATCHID uniqueidentifier, @RECORDCOUNT int OUTPUT';
exec sp_executesql @SQL, @params, @BATCHID = @BATCHID, @RECORDCOUNT = @RECORDCOUNT OUTPUT;
select @RECORDCOUNT as RECORDCOUNT;
end
else
begin
set @RECORDCOUNT = 0;
select @RECORDCOUNT as RECORDCOUNT;
end
end