USP_DATAFORMTEMPLATE_VIEW_CLASSDETAILPAGEDATA
The load procedure used by the view dataform template "Class Detail Page Data View 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. |
@COURSE | nvarchar(60) | INOUT | COURSE |
@COURSEID | uniqueidentifier | INOUT | COURSEID |
@NAME | nvarchar(60) | INOUT | NAME |
@MALESTUDENTS | int | INOUT | MALESTUDENTS |
@FEMALESTUDENTS | int | INOUT | FEMALESTUDENTS |
@SHOWADDCLASS | bit | INOUT | SHOWADDCLASS |
@SHOWADDCLASSOVERTARGET | bit | INOUT | SHOWADDCLASSOVERTARGET |
@SHOWMEETINGSWITHPERIODS | bit | INOUT | SHOWMEETINGSWITHPERIODS |
@SHOWCLASSASSIGNEDBLOCK | bit | INOUT | SHOWCLASSASSIGNEDBLOCK |
@SCHOOLID | uniqueidentifier | INOUT | SCHOOLID |
@ACADEMICYEARID | uniqueidentifier | INOUT | ACADEMICYEARID |
@SESSIONID | uniqueidentifier | INOUT | SESSIONID |
@SESSION_HEADER | nvarchar(200) | INOUT | SESSION_HEADER |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_CLASSDETAILPAGEDATA
(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@COURSE nvarchar(60) = null output,
@COURSEID uniqueidentifier = null output,
@NAME nvarchar(60) = null output,
@MALESTUDENTS int = null output,
@FEMALESTUDENTS int = null output,
@SHOWADDCLASS bit = null output,
@SHOWADDCLASSOVERTARGET bit = null output,
@SHOWMEETINGSWITHPERIODS bit = null output,
@SHOWCLASSASSIGNEDBLOCK bit = null output,
@SCHOOLID uniqueidentifier = null output,
@ACADEMICYEARID uniqueidentifier = null output,
@SESSIONID uniqueidentifier = null output,
@SESSION_HEADER nvarchar(200) = null output
)
as
set nocount on;
-- be sure to set this, in case the select returns no rows
set @DATALOADED = 0;
declare @TARGETSIZE int
declare @MAXSIZE int
declare @NUMBERENROLLED int
-- 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.
select @DATALOADED = 1,
@COURSE = dbo.COURSE.NAME,
@COURSEID = dbo.COURSE.ID,
@NAME = COURSE.[COURSEID] + ' - ' + CLASS.[SECTION],
@TARGETSIZE = CLASS.CLASSSIZETARGET,
@MAXSIZE = CLASS.CLASSSIZEMAXIMUM,
@NUMBERENROLLED = dbo.UFN_CLASS_GETNUMBERENROLLED(@ID),
@MALESTUDENTS = dbo.UFN_CLASS_GETSTUDENTCOUNTBYGENDER(@ID, 1),
@FEMALESTUDENTS = dbo.UFN_CLASS_GETSTUDENTCOUNTBYGENDER(@ID, 2),
@SHOWMEETINGSWITHPERIODS = case when TIMETABLE.SCHEDULETIMECODE = 0 then 1 else 0 end,
@SHOWCLASSASSIGNEDBLOCK = case when COURSERESTRICTION.PATTERNID is null then 0 else 1 end,
@SCHOOLID = COURSE.SCHOOLID,
@ACADEMICYEARID = SESSION.ACADEMICYEARID,
@SESSIONID = SESSION.ID,
@SESSION_HEADER = case when dbo.UFN_SCHOOL_ISSINGLESCHOOL() = 0 then
dbo.UFN_SCHOOL_GETNAME(COURSE.SCHOOLID) + ', ' else '' end +
dbo.UFN_ACADEMICYEAR_GETNAME(SESSION.ACADEMICYEARID) + ', ' +
dbo.UFN_SESSIONNAMECODE_GETDESCRIPTION(SESSION.SESSIONNAMECODEID)
from dbo.CLASS
inner join dbo.COURSE on CLASS.COURSEID = COURSE.ID
inner join dbo.SESSION on SESSION.ID = dbo.UFN_SESSION_GET_FORSCHOOL_BYDATE(COURSE.SCHOOLID, CLASS.STARTDATE, CLASS.ENDDATE)
inner join dbo.TIMETABLE on SESSION.TIMETABLEID = TIMETABLE.ID
inner join dbo.V_COURSERESTRICTION COURSERESTRICTION on COURSE.ID = COURSERESTRICTION.COURSEID
and COURSERESTRICTION.STARTDATE <= CLASS.STARTDATE
and COURSERESTRICTION.ENDDATE >= CLASS.ENDDATE
where dbo.CLASS.ID = @ID
if @DATALOADED = 1
begin
select
@SHOWADDCLASS = case when @NUMBERENROLLED < @TARGETSIZE then 1 else 0 end,
@SHOWADDCLASSOVERTARGET = case when @MAXSIZE <= 0 or @NUMBERENROLLED < @MAXSIZE then 1 else 0 end;
end
return 0;