USP_DATAFORMTEMPLATE_EDITLOAD_COURSERESTRICTION
The load procedure used by the edit dataform template "Course Restriction Edit Data 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. |
@COURSENAME | nvarchar(60) | INOUT | |
@SCHOOLID | uniqueidentifier | INOUT | |
@ACADEMICYEARID | uniqueidentifier | INOUT | Academic year |
@SESSIONID | uniqueidentifier | INOUT | Session |
@SESSIONSTARTDATE | date | INOUT | |
@SESSIONENDDATE | date | INOUT | |
@LENGTHINTERMS | int | INOUT | Terms in length |
@STARTTERMS | xml | INOUT | Starting in terms |
@PATTERNID | uniqueidentifier | INOUT | Pattern |
@COURSEID | uniqueidentifier | INOUT | |
@COURSEGRADINGID | uniqueidentifier | INOUT | |
@COURSEGRADINGMARKINGCOLUMNS | xml | INOUT | |
@HASCLASSES | bit | INOUT | |
@HASMEETINGSWITHBLOCKS | bit | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_COURSERESTRICTION(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@COURSENAME nvarchar(60) = null output,
@SCHOOLID uniqueidentifier = null output,
@ACADEMICYEARID uniqueidentifier = null output,
@SESSIONID uniqueidentifier = null output,
@SESSIONSTARTDATE date = null output,
@SESSIONENDDATE date = null output,
@LENGTHINTERMS int = null output,
@STARTTERMS xml = null output,
@PATTERNID uniqueidentifier = null output,
@COURSEID uniqueidentifier = null output,
@COURSEGRADINGID uniqueidentifier = null output,
@COURSEGRADINGMARKINGCOLUMNS xml = null output,
@HASCLASSES bit = null output,
@HASMEETINGSWITHBLOCKS bit = null output
)
as
set nocount on;
-- be sure to set these, in case the select returns no rows
set @DATALOADED = 0
set @TSLONG = 0
declare @STARTDATE date
declare @ENDDATE date
-- 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,
@COURSENAME = COURSE.NAME,
@SCHOOLID = COURSE.SCHOOLID,
@TSLONG = COURSERESTRICTION.TSLONG,
@STARTDATE = COURSERESTRICTION.STARTDATE,
@ENDDATE = COURSERESTRICTION.ENDDATE,
@LENGTHINTERMS = COURSERESTRICTION.LENGTHINTERMS,
@STARTTERMS = dbo.UFN_COURSERESTRICTION_GETSTARTTERMS_TOITEMLISTXML(@ID),
@PATTERNID = COURSERESTRICTION.PATTERNID,
@SESSIONID = dbo.UFN_SESSION_GET_FORSCHOOL_BYDATE(COURSE.SCHOOLID, COURSERESTRICTION.STARTDATE, COURSERESTRICTION.ENDDATE),
@SESSIONSTARTDATE = COURSERESTRICTION.STARTDATE,
@SESSIONENDDATE = COURSERESTRICTION.ENDDATE,
@COURSEID = COURSERESTRICTION.COURSEID,
@HASCLASSES = case when exists(
select 1
from dbo.CLASS
where CLASS.COURSEID = COURSE.ID
and CLASS.STARTDATE >= COURSERESTRICTION.STARTDATE
and CLASS.ENDDATE <= COURSERESTRICTION.ENDDATE) then 1 else 0 end,
@HASMEETINGSWITHBLOCKS = case when exists(
select 1
from dbo.CLASS
inner join dbo.CLASSMEETINGGROUP on CLASS.ID = CLASSMEETINGGROUP.CLASSID
where CLASS.COURSEID = COURSE.ID
and CLASS.STARTDATE >= COURSERESTRICTION.STARTDATE
and CLASS.ENDDATE <= COURSERESTRICTION.ENDDATE
and CLASSMEETINGGROUP.PATTERNBLOCKID is not null) then 1 else 0 end
from dbo.COURSERESTRICTION
inner join dbo.COURSE on COURSE.ID = COURSERESTRICTION.COURSEID
where COURSERESTRICTION.ID = @ID
select @ACADEMICYEARID = ACADEMICYEARID
from dbo.SESSION
where ID = @SESSIONID
return 0;