UFN_STUDENTPROGRESSION_INUSE
Returns true if the provided student progression is in use.
Return
Return Type |
---|
bit |
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@STUDENTPROGRESSIONID | uniqueidentifier | IN |
Definition
Copy
CREATE function dbo.UFN_STUDENTPROGRESSION_INUSE(
@STUDENTPROGRESSIONID uniqueidentifier
)
returns bit
with execute as caller
as begin
declare @RETVAL bit = 0;
--add any tables that use academic year dates
--see if any classes use the student progression
if (select 1
from dbo.STUDENTPROGRESSION
inner join dbo.EDUCATIONALHISTORY on dbo.STUDENTPROGRESSION.ENROLLMENTID = EDUCATIONALHISTORY.ID
inner join dbo.CLASSMEETINGGROUP on
dbo.STUDENTPROGRESSION.STARTDATE <= CLASSMEETINGGROUP.STARTDATE and
dbo.STUDENTPROGRESSION.ENDDATE >= CLASSMEETINGGROUP.ENDDATE
inner join dbo.STUDENTCLASSMEETINGGROUP on CLASSMEETINGGROUP.ID = STUDENTCLASSMEETINGGROUP.CLASSMEETINGGROUPID
inner join dbo.STUDENTCOURSE on
STUDENTCLASSMEETINGGROUP.STUDENTCOURSEID = STUDENTCOURSE.ID and
EDUCATIONALHISTORY.CONSTITUENTID = STUDENTCOURSE.STUDENTID
where
dbo.STUDENTPROGRESSION.ID = @STUDENTPROGRESSIONID) > 0
set @RETVAL = 1;
--see if there are any charges use the student progression
if (exists (select dbo.STUDENTCHARGE.ID
from dbo.STUDENTCHARGE
where
dbo.STUDENTCHARGE.STUDENTPROGRESSIONID = @STUDENTPROGRESSIONID))
set @RETVAL = 1;
--see if this is the last student progression
if @RETVAL = 0
begin
declare @STUDENTID as uniqueidentifier
set @STUDENTID = (SELECT dbo.EDUCATIONALHISTORY.[CONSTITUENTID] FROM dbo.STUDENTPROGRESSION INNER JOIN dbo.EDUCATIONALHISTORY on dbo.STUDENTPROGRESSION.[ENROLLMENTID] = dbo.EDUCATIONALHISTORY.[ID] WHERE dbo.STUDENTPROGRESSION.[ID] = @STUDENTPROGRESSIONID)
if (dbo.UFN_STUDENTPROGRESSION_RECORDCOUNT(@STUDENTID) <= 1)
set @RETVAL = 1;
end
return @RETVAL;
end