USP_REPORT_BILLINGGENERATETRANSACTIONSCHARGEPROCCESSREPORT_EXCEPTIONDATA
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | nvarchar(36) | IN |
Definition
Copy
create procedure dbo.USP_REPORT_BILLINGGENERATETRANSACTIONSCHARGEPROCCESSREPORT_EXCEPTIONDATA
(
@ID nvarchar(36) -- Process ID
)
as
begin
-- Get the exception table name
declare @DATA_TABLENAME nvarchar(255);
select @DATA_TABLENAME = BUSINESSPROCESSOUTPUT.TABLENAME
from dbo.BUSINESSPROCESSSTATUS
inner join dbo.BUSINESSPROCESSOUTPUT on BUSINESSPROCESSSTATUS.ID = BUSINESSPROCESSOUTPUT.BUSINESSPROCESSSTATUSID
where BUSINESSPROCESSSTATUS.ID = @ID AND BUSINESSPROCESSOUTPUT.TABLEKEY = 'EXCEPTION';
if ((@DATA_TABLENAME is null) or (OBJECT_ID(@DATA_TABLENAME) is null))
begin
raiserror('Business process results table could not be found. The process might not have completed successfully. ',13,1);
end
-- Retrieve the exception data
begin try
declare @SQL nvarchar(4000);
set @SQL = 'select ''http://www.blackbaud.com?STUDENTID='' + CONVERT(nvarchar(36), DATA.STUDENTID) as STUDENTID,
DATA.STUDENTNAME,
DATA.GRADELEVEL,
DATA.SCHOOL,
DATA.BILLINGITEMNAME,
DATA.AMOUNT,
DATA.DUPLICATECHARGEID,
''http://www.blackbaud.com?DUPLICATETRANSACTIONID='' + CONVERT(nvarchar(36), DATA.DUPLICATETRANSACTIONID) as DUPLICATETRANSACTIONID,
case DATA.ERRORMESSAGE when ''DUPLICATE'' then ''Charge already exists'' else '''' end as EXCEPTION
from ' + @DATA_TABLENAME + ' as DATA';
exec sp_executesql @SQL;
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
end