USP_STEWARDSHIPPACKAGEREPORT_RECIPIENTS
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@DESIGNATIONLEVELID | uniqueidentifier | IN | |
@REPORTUSERID | nvarchar(128) | IN | |
@ALTREPORTUSERID | nvarchar(128) | IN |
Definition
Copy
create proc dbo.USP_STEWARDSHIPPACKAGEREPORT_RECIPIENTS
(
@DESIGNATIONLEVELID uniqueidentifier,
@REPORTUSERID nvarchar(128) = null,
@ALTREPORTUSERID nvarchar(128) = null
)
with execute as owner
as
set nocount on;
declare @SQL nvarchar(4000);
declare @TABLE nvarchar(255);
declare @CURRENTAPPUSERID uniqueidentifier;
declare @ISADMIN bit;
declare @APPUSER_IN_NONRACROLE bit;
declare @APPUSER_IN_NOSECGROUPROLE bit;
set @CURRENTAPPUSERID = dbo.UFN_APPUSER_GETREPORTAPPUSERID(@REPORTUSERID, @ALTREPORTUSERID);
set @ISADMIN = dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID);
if @ISADMIN = 0
begin
set @APPUSER_IN_NONRACROLE = dbo.UFN_SECURITY_APPUSER_IN_NONRACROLE(@CURRENTAPPUSERID);
if @APPUSER_IN_NONRACROLE = 0
set @APPUSER_IN_NOSECGROUPROLE = dbo.UFN_SECURITY_APPUSER_IN_NO_SECURITY_GROUP_ROLE(@CURRENTAPPUSERID);
end
begin try
select @TABLE = BUSINESSPROCESSOUTPUT.TABLENAME
from dbo.BUSINESSPROCESSOUTPUT inner join dbo.STEWARDSHIPPACKAGEPROCESSHISTORY on BUSINESSPROCESSOUTPUT.BUSINESSPROCESSSTATUSID = STEWARDSHIPPACKAGEPROCESSHISTORY.BUSINESSPROCESSSTATUSGUID
where STEWARDSHIPPACKAGEPROCESSHISTORY.ID = @DESIGNATIONLEVELID and BUSINESSPROCESSOUTPUT.TABLEKEY = 'OUTPUT_RECIPIENTS';
set @SQL = 'select
dbo.UFN_CONSTITUENT_BUILDNAME(CONSTITUENTID) as NAME,
DATE,
AMOUNT,
PURPOSERECIPIENTSTATUSCODE.DESCRIPTION as STATUS,
PURPOSERECIPIENTTYPECODE.DESCRIPTION as TYPE,
SCHOLARSHIPTERM.NAME as SCHOLARSHIPTERM,
FERPA
from
dbo.' + @TABLE + ' RECIPIENT inner join dbo.CONSTITUENT on RECIPIENT.CONSTITUENTID = CONSTITUENT.ID
left outer join dbo.PURPOSERECIPIENTSTATUSCODE on RECIPIENT.STATUSCODEID = PURPOSERECIPIENTSTATUSCODE.ID
left outer join dbo.PURPOSERECIPIENTTYPECODE on RECIPIENT.TYPECODEID = PURPOSERECIPIENTTYPECODE.ID
left outer join dbo.SCHOLARSHIPTERM as SCHOLARSHIPTERM on RECIPIENT.SCHOLARSHIPTERMID = SCHOLARSHIPTERM.ID' + nchar(13)
set @SQL = @SQL + ' where
(@ISADMIN = 1 or
@APPUSER_IN_NONRACROLE = 1 or
dbo.UFN_SECURITY_APPUSER_GRANTED_CONSTITID_FORREPORT(@CURRENTAPPUSERID, CONSTITUENT.ID, @APPUSER_IN_NOSECGROUPROLE) = 1)' + nchar(13)
set @SQL = @SQL + ' order by NAME';
exec sp_executesql @SQL,
N'@TABLE nvarchar(255), @CURRENTAPPUSERID uniqueidentifier, @ISADMIN bit, @APPUSER_IN_NONRACROLE bit, @APPUSER_IN_NOSECGROUPROLE bit',
@TABLE=@TABLE, @CURRENTAPPUSERID=@CURRENTAPPUSERID, @ISADMIN=@ISADMIN, @APPUSER_IN_NONRACROLE=@APPUSER_IN_NONRACROLE, @APPUSER_IN_NOSECGROUPROLE=@APPUSER_IN_NOSECGROUPROLE;
end try
begin catch
exec dbo.USP_RAISE_ERROR;
return 1;
end catch