USP_SCHEDULEDATEADJUSTMENT_GETDATA

Returns data required when adding or editing an adjustment.

Parameters

Parameter Parameter Type Mode Description
@SESSIONID uniqueidentifier IN
@DATE date IN
@TIMETABLEDAY nvarchar(60) INOUT
@NEXTTIMETABLEDAYID uniqueidentifier INOUT
@NEXTTIMETABLEDAY nvarchar(60) INOUT
@ADJUSTEDTIMETABLEDAYID uniqueidentifier INOUT
@DESCRIPTION nvarchar(255) INOUT

Definition

Copy


create procedure dbo.USP_SCHEDULEDATEADJUSTMENT_GETDATA
(
    @SESSIONID uniqueidentifier,
    @DATE date,
    @TIMETABLEDAY nvarchar(60) output,
    @NEXTTIMETABLEDAYID uniqueidentifier output,
    @NEXTTIMETABLEDAY nvarchar(60) output,
    @ADJUSTEDTIMETABLEDAYID uniqueidentifier output,
    @DESCRIPTION nvarchar(255) output
)
as
begin
    select
        @TIMETABLEDAY = CYCLEDAY.DESCRIPTION,
        @NEXTTIMETABLEDAYID =
            coalesce(SCHEDULEDATEADJUSTMENT.NEXTTIMETABLEDAYID, SCHEDULEDATE.TIMETABLEDAYID),
        @NEXTTIMETABLEDAY = 
            (select top(1) CYCLEDAY.DESCRIPTION
            from dbo.SCHEDULEDATE
                inner join dbo.TIMETABLEDAY on SCHEDULEDATE.TIMETABLEDAYID = TIMETABLEDAY.ID
                inner join dbo.CYCLEDAY on TIMETABLEDAY.CYCLEDAYID = CYCLEDAY.ID
            where SCHEDULEDATE.SCHOOLID = ACADEMICYEAR.SCHOOLID
                and SCHEDULEDATE.DATE > @DATE
            order by SCHEDULEDATE.DATE),
        @ADJUSTEDTIMETABLEDAYID = SCHEDULEDATEADJUSTMENT.ADJUSTEDTIMETABLEDAYID,
        @DESCRIPTION = SCHEDULEDATEADJUSTMENT.DESCRIPTION
    from dbo.SESSION
        inner join dbo.ACADEMICYEAR on SESSION.ACADEMICYEARID = ACADEMICYEAR.ID
        inner join dbo.SCHEDULEDATE on ACADEMICYEAR.SCHOOLID = SCHEDULEDATE.SCHOOLID
        left join SCHEDULEDATEADJUSTMENT on
            SCHEDULEDATE.DATE = SCHEDULEDATEADJUSTMENT.DATE and
            SCHEDULEDATE.SCHOOLID = SCHEDULEDATEADJUSTMENT.SCHOOLID
        left join dbo.TIMETABLEDAY on SCHEDULEDATE.TIMETABLEDAYID = TIMETABLEDAY.ID
        left join dbo.CYCLEDAY on TIMETABLEDAY.CYCLEDAYID = CYCLEDAY.ID
    where SCHEDULEDATE.DATE = @DATE
        and SESSION.ID = @SESSIONID
end