USP_DATAFORMTEMPLATE_EDITLOAD_SCHEDULEDATEADJUSTMENT

The load procedure used by the edit dataform template "Adjustment Edit Form"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@TSLONG bigint INOUT Output parameter indicating the TSLONG value of the record being edited. This is used to manage multi-user concurrency issues when multiple users access the same record.
@SESSIONID uniqueidentifier INOUT
@TIMETABLEID uniqueidentifier INOUT
@DATE date INOUT Date
@NEXTTIMETABLEDAYID uniqueidentifier INOUT Change to
@TIMETABLEDAY varchar(60) INOUT Currently assigned
@NEXTTIMETABLEDAY varchar(60) INOUT Next day currently assigned
@ADJUSTEDTIMETABLEDAYID uniqueidentifier INOUT Change to
@DESCRIPTION varchar(255) INOUT Notes

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_SCHEDULEDATEADJUSTMENT(
                            @ID uniqueidentifier,
                            @DATALOADED bit = 0 output,
                            @TSLONG bigint = 0 output,
                            @SESSIONID uniqueidentifier = null output,
                            @TIMETABLEID uniqueidentifier = null output,
                            @DATE date = null output,
                            @NEXTTIMETABLEDAYID uniqueidentifier = null output,
                            @TIMETABLEDAY varchar(60) = null output,
                            @NEXTTIMETABLEDAY varchar(60) = null output,
                            @ADJUSTEDTIMETABLEDAYID uniqueidentifier = null output,
                            @DESCRIPTION varchar(255) = null output
                    )
                    as

                        set nocount on

                        -- be sure to set these, in case the select returns no rows

                        set @DATALOADED = 0
                        set @TSLONG = 0

                        -- populate the output parameters, which correspond to fields on the form.  Note that

                        -- we set @DATALOADED = 1 to indicate that the load was successful.  Otherwise, the system

                        -- will display a "no data loaded" message.  Also note that we fetch the TSLONG so that concurrency

                        -- can be considered.

                        select
                            @DATALOADED = 1,
                            @TSLONG = SCHEDULEDATEADJUSTMENT.TSLONG,
                            @DATE = SCHEDULEDATEADJUSTMENT.DATE,
                            @SESSIONID = dbo.UFN_SCHEDULEDATE_GETSESSION (SCHEDULEDATEADJUSTMENT.DATE, SCHEDULEDATEADJUSTMENT.SCHOOLID),
                            @TIMETABLEID = (select TIMETABLEID from SESSION where ID = dbo.UFN_SCHEDULEDATE_GETSESSION (SCHEDULEDATEADJUSTMENT.DATE, SCHEDULEDATEADJUSTMENT.SCHOOLID)),
                            @NEXTTIMETABLEDAYID = NEXTTIMETABLEDAYID,
                            @TIMETABLEDAY = (select CYCLEDAY.DESCRIPTION 
                                             from CYCLEDAY 
                                             inner join TIMETABLEDAY 
                                                on TIMETABLEDAY.CYCLEDAYID = CYCLEDAY.ID 
                                             where TIMETABLEDAY.ID = 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 = SCHEDULEDATEADJUSTMENT.SCHOOLID
                                    and SCHEDULEDATE.DATE > SCHEDULEDATEADJUSTMENT.DATE
                                order by SCHEDULEDATE.DATE),
                            @ADJUSTEDTIMETABLEDAYID = ADJUSTEDTIMETABLEDAYID,
                            @DESCRIPTION = SCHEDULEDATEADJUSTMENT.DESCRIPTION
                        from 
                            SCHEDULEDATEADJUSTMENT
                        inner join SCHEDULEDATE
                            on SCHEDULEDATE.SCHOOLID = SCHEDULEDATEADJUSTMENT.SCHOOLID and SCHEDULEDATE.DATE = SCHEDULEDATEADJUSTMENT.DATE
                        where SCHEDULEDATEADJUSTMENT.ID = @ID

                        return 0