USP_POSTTOGLPROCESS_EXCEPTIONREPORT
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | nvarchar(36) | IN |
Definition
Copy
create procedure dbo.USP_POSTTOGLPROCESS_EXCEPTIONREPORT(@ID nvarchar(36))
with execute as owner
as
set nocount on;
declare @TABLENAME nvarchar(255);
declare @SQL nvarchar(4000);
select @TABLENAME = BUSINESSPROCESSOUTPUT.TABLENAME
from dbo.BUSINESSPROCESSSTATUS
inner join dbo.BUSINESSPROCESSOUTPUT on BUSINESSPROCESSSTATUS.ID = BUSINESSPROCESSOUTPUT.BUSINESSPROCESSSTATUSID
where BUSINESSPROCESSSTATUS.ID = @ID AND BUSINESSPROCESSOUTPUT.TABLEKEY = 'EXCEPTION';
if @TABLENAME is null or OBJECT_ID(@TABLENAME) is null
raiserror('Business process exception table could not be found. The process might not have completed successfully. ',13,1)
begin try
set @SQL = 'select REVENUEID,
CONSTITUENT.NAME,
EX.POSTDATE as POSTDATE,
''<not specified>'' as ACCOUNTSTRING,
PROJECT,
REFERENCE,
EX.AMOUNT AS DEBITAMOUNT,
0 AS CREDITAMOUNT,
EXCEPTIONREASON,
DEBITCREDIT,
convert(datetime, EX.POSTDATE) as DTPOSTDATE
from dbo.' +
@TABLENAME + ' as EX
inner join dbo.REVENUE on EX.REVENUEID = REVENUE.ID
inner join dbo.CONSTITUENT on REVENUE.CONSTITUENTID = CONSTITUENT.ID
where DEBITCREDIT = ''D''
union
select REVENUEID,
CONSTITUENT.NAME,
EX.POSTDATE as POSTDATE,
''<not specified>'' as ACCOUNTSTRING,
PROJECT,
REFERENCE,
0 AS DEBITAMOUNT,
EX.AMOUNT AS CREDITAMOUNT,
EXCEPTIONREASON,
DEBITCREDIT,
convert(datetime, EX.POSTDATE) as DTPOSTDATE
from dbo.' +
@TABLENAME + ' as EX
inner join dbo.REVENUE on EX.REVENUEID = REVENUE.ID
inner join dbo.CONSTITUENT on REVENUE.CONSTITUENTID = CONSTITUENT.ID
where DEBITCREDIT = ''C''
order by
DTPOSTDATE,
REFERENCE,
ACCOUNTSTRING,
EX.AMOUNT,
DEBITCREDIT ';
exec sp_executesql @SQL;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch