USP_SIMPLEDATALIST_ADDREQUESTSFORMULTIPLESTUDENTSCOURSERESTRICTIONSTARTTERMS

Returns a list of possible start terms for a particular course and session.

Parameters

Parameter Parameter Type Mode Description
@COURSEID uniqueidentifier IN Course
@ACADEMICYEARID uniqueidentifier IN Academic Year
@SESSIONNAMECODEID uniqueidentifier IN Session

Definition

Copy


CREATE procedure dbo.USP_SIMPLEDATALIST_ADDREQUESTSFORMULTIPLESTUDENTSCOURSERESTRICTIONSTARTTERMS
(
    @COURSEID uniqueidentifier = null,
    @ACADEMICYEARID uniqueidentifier = null,
    @SESSIONNAMECODEID uniqueidentifier = null
) as

    declare @SESSIONID uniqueidentifier

    if @ACADEMICYEARID in ('00000000-0000-0000-0000-000000000000', '00000000-0000-0000-0000-000000000001', '00000000-0000-0000-0000-000000000002')
        set @ACADEMICYEARID = null

    if @ACADEMICYEARID is not null
        select @SESSIONID = SESSION.ID
        from dbo.SESSION
        where ACADEMICYEARID = @ACADEMICYEARID and SESSIONNAMECODEID = @SESSIONNAMECODEID        

    if @SESSIONID is null
        exec dbo.USP_SIMPLEDATALIST_TERM_NAMECODE null
    else
        select TERM.TERMNAMECODEID as VALUE,
            dbo.UFN_TERMNAMECODE_GETDESCRIPTION(TERMNAMECODEID) as LABEL
        from dbo.COURSERESTRICTIONSTARTTERM
            inner join dbo.TERM on TERM.STARTDATE = COURSERESTRICTIONSTARTTERM.STARTDATE and TERM.ENDDATE = COURSERESTRICTIONSTARTTERM.ENDDATE
            inner join dbo.V_COURSERESTRICTION as COURSERESTRICTION on COURSERESTRICTIONSTARTTERM.COURSERESTRICTIONID = COURSERESTRICTION.ID
            inner join dbo.COURSE on COURSERESTRICTION.COURSEID = COURSE.ID 
        where TERM.SESSIONID = @SESSIONID 
            and dbo.UFN_SESSION_GET_FORSCHOOL_BYDATE(COURSE.SCHOOLID, COURSERESTRICTION.STARTDATE, COURSERESTRICTION.ENDDATE) = @SESSIONID
            and COURSERESTRICTION.COURSEID = @COURSEID
        order by TERM.STARTDATE