USP_DATALIST_SCHEDULEDATEADJUSTMENT

All of the adjustments in a given session.

Parameters

Parameter Parameter Type Mode Description
@SESSIONID uniqueidentifier IN Input parameter indicating the context ID for the data list.

Definition

Copy


                CREATE procedure dbo.USP_DATALIST_SCHEDULEDATEADJUSTMENT
                    (
                        @SESSIONID uniqueidentifier
                    )
                as
                    set nocount on

                    select SCHEDULEDATEADJUSTMENT.ID,
                           SCHEDULEDATEADJUSTMENT.DATE,
                           (select TERMNAMECODE.DESCRIPTION 
                            from TERM
                            inner join TERMNAMECODE 
                                on TERMNAMECODE.ID = TERM.TERMNAMECODEID
                            where SESSIONID = @SESSIONID and
                                SCHEDULEDATE.DATE >= STARTDATE AND
                                SCHEDULEDATE.DATE <= ENDDATE) "TERM",
                           SCHEDULEDATE.INSESSION,
                           case when ADJUSTEDTIMETABLEDAYID is null then 1 else 0 end "SKIPCYCLE",
                           CYCLEDAY.DESCRIPTION "TIMETABLEDAY",
                           SCHEDULEDATEADJUSTMENT.DESCRIPTION
                    from 
                        dbo.SCHEDULEDATEADJUSTMENT
                    inner join SCHEDULEDATE 
                        on SCHEDULEDATE.DATE = SCHEDULEDATEADJUSTMENT.DATE AND SCHEDULEDATE.SCHOOLID = SCHEDULEDATEADJUSTMENT.SCHOOLID
                    left join TIMETABLEDAY
                        on TIMETABLEDAY.ID = Coalesce(NEXTTIMETABLEDAYID,ADJUSTEDTIMETABLEDAYID)
                    left join CYCLEDAY 
                        on CYCLEDAY.ID = TIMETABLEDAY.CYCLEDAYID
                    where SCHEDULEDATEADJUSTMENT.SCHOOLID = 
                            (select SCHOOLID 
                             from 
                                SESSION 
                             inner join ACADEMICYEAR 
                                on SESSION.ACADEMICYEARID = ACADEMICYEAR.ID 
                             where SESSION.ID = @SESSIONID) AND
                         SCHEDULEDATEADJUSTMENT.DATE >= (select min(STARTDATE) from TERM where SESSIONID = @SESSIONID) AND
                         SCHEDULEDATEADJUSTMENT.DATE <= (select max(ENDDATE) from TERM where SESSIONID = @SESSIONID)
                    order by SCHEDULEDATEADJUSTMENT.DATE