USP_REPORT_ADDREQUESTSFORMULTIPLESTUDENTS_PROCESSINGREPORT_SUMMARY
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | nvarchar(36) | IN |
Definition
Copy
create procedure dbo.USP_REPORT_ADDREQUESTSFORMULTIPLESTUDENTS_PROCESSINGREPORT_SUMMARY
(
@ID nvarchar(36)
)
with execute as owner
as
set nocount on
declare @SUCCESS_TABLENAME nvarchar(255)
declare @EXCEPTION_TABLENAME nvarchar(255)
declare @SQL nvarchar(4000)
select @SUCCESS_TABLENAME = BUSINESSPROCESSOUTPUT.TABLENAME
from dbo.BUSINESSPROCESSSTATUS
inner join dbo.BUSINESSPROCESSOUTPUT on BUSINESSPROCESSSTATUS.ID = BUSINESSPROCESSOUTPUT.BUSINESSPROCESSSTATUSID
where BUSINESSPROCESSSTATUS.ID = @ID AND BUSINESSPROCESSOUTPUT.TABLEKEY = 'SUCCESS'
select @EXCEPTION_TABLENAME = BUSINESSPROCESSOUTPUT.TABLENAME
from dbo.BUSINESSPROCESSSTATUS
inner join dbo.BUSINESSPROCESSOUTPUT on BUSINESSPROCESSSTATUS.ID = BUSINESSPROCESSOUTPUT.BUSINESSPROCESSSTATUSID
where BUSINESSPROCESSSTATUS.ID = @ID AND BUSINESSPROCESSOUTPUT.TABLEKEY = 'EXCEPTION'
if @SUCCESS_TABLENAME is null or OBJECT_ID(@SUCCESS_TABLENAME) is null
raiserror('Business process exception table could not be found. The process might not have completed successfully. ',13,1)
begin try
--we want grade level and success num of requests
set @SQL = 'select
distinct SCHOOLGRADELEVEL,
SCHOOLGRADELEVELSEQUENCE,
(select COUNT(1) from dbo.' + @SUCCESS_TABLENAME + ' where SCHOOLGRADELEVEL = SUMMARY.SCHOOLGRADELEVEL) as SUCCESS_COUNT,
(select COUNT(1) from
(select STUDENTID, COURSEID
from dbo.' + @EXCEPTION_TABLENAME + '
where SCHOOLGRADELEVEL = SUMMARY.SCHOOLGRADELEVEL
group by STUDENTID, COURSEID) as E) as EXCEPTION_COUNT
from (
select SCHOOLGRADELEVEL, SCHOOLGRADELEVELSEQUENCE from dbo.' + @SUCCESS_TABLENAME + ' as SUCCESS
union
select SCHOOLGRADELEVEL, SCHOOLGRADELEVELSEQUENCE from dbo.' + @EXCEPTION_TABLENAME + ' as EXCEPTION) as SUMMARY
order by SCHOOLGRADELEVELSEQUENCE'
exec sp_executesql @SQL
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch