UFN_COURSERESTRICTION_VALIDDATESBYLENGTHINTERMS

Returns start and end dates of valid terms for a session.

Return

Return Type
table

Parameters

Parameter Parameter Type Mode Description
@SESSIONSTARTDATE date IN
@SESSIONENDDATE date IN
@COURSEID uniqueidentifier IN

Definition

Copy


create function dbo.UFN_COURSERESTRICTION_VALIDDATESBYLENGTHINTERMS
(
    @SESSIONSTARTDATE date,
    @SESSIONENDDATE date,
    @COURSEID uniqueidentifier
)
returns table
as return 
(
    select
        @COURSEID 'COURSEID',         
        COURSERESTRICTIONSTARTTERM.STARTDATE, 
        (select max(CRT.ENDDATE) from
                (select top (COURSERESTRICTION.LENGTHINTERMS) ENDDATE 
                from dbo.TERM
                where  
                    (SESSIONID = dbo.UFN_SESSION_GET_FORSCHOOL_BYDATE(COURSE.SCHOOLID, @SESSIONSTARTDATE, @SESSIONENDDATE)) and 
                    (ENDDATE >= (select ENDDATE from dbo.TERM where ID = dbo.UFN_TERM_GET_FORSCHOOL_BYDATE(COURSE.SCHOOLID, COURSERESTRICTIONSTARTTERM.STARTDATE, COURSERESTRICTIONSTARTTERM.ENDDATE)))) CRT) 'ENDDATE'
    from 
        dbo.COURSERESTRICTIONSTARTTERM
    join
        dbo.COURSERESTRICTION on COURSERESTRICTIONSTARTTERM.COURSERESTRICTIONID = COURSERESTRICTION.ID
    join 
        dbo.COURSE on COURSERESTRICTION.COURSEID = COURSE.ID
    where COURSE.ID = @COURSEID and
            dbo.UFN_SESSION_GET_FORSCHOOL_BYDATE(COURSE.SCHOOLID, @SESSIONSTARTDATE, @SESSIONENDDATE) = dbo.UFN_SESSION_GET_FORSCHOOL_BYDATE(COURSE.SCHOOLID, COURSERESTRICTION.STARTDATE, COURSERESTRICTION.ENDDATE)            


)