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