USP_DATAFORMTEMPLATE_VIEW_EDITSTUDENTSCHEDULE_CLASS
The load procedure used by the view dataform template "Edit Student Schedule, Class View"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter used to load the fields defined on the form. |
@CURRENTAPPUSERID | uniqueidentifier | IN | Input parameter indicating the ID of the current user. |
@DATALOADED | bit | INOUT | Output parameter indicating whether or not data was actually loaded. |
@CLASSMEETINGGROUPS | xml | INOUT | CLASSMEETINGGROUPS |
@TARGETEXCEEDED | bit | INOUT | TARGETEXCEEDED |
@MAXIMUMEXCEEDED | bit | INOUT | MAXIMUMEXCEEDED |
Definition
Copy
create procedure dbo.USP_DATAFORMTEMPLATE_VIEW_EDITSTUDENTSCHEDULE_CLASS
(
@ID uniqueidentifier,
@CURRENTAPPUSERID uniqueidentifier,
@DATALOADED bit = 0 output,
@CLASSMEETINGGROUPS xml = null output,
@TARGETEXCEEDED bit = null output,
@MAXIMUMEXCEEDED bit = null output
)
as
set nocount on;
declare @NUMBERENROLLED int
declare @SESSION_STARTDATE date
declare @SESSION_ENDDATE date
select
@SESSION_STARTDATE = min(STARTDATE),
@SESSION_ENDDATE = max(ENDDATE)
from dbo.TERM
inner join dbo.APPUSERSESSION on TERM.SESSIONID = APPUSERSESSION.SESSIONID
where APPUSERSESSION.ID = @CURRENTAPPUSERID
group by APPUSERSESSION.ID
select
@DATALOADED = 1,
@CLASSMEETINGGROUPS =
(
select
dbo.UFN_TERM_GET_FORSCHOOL_BYDATE(COURSE.SCHOOLID, CLASSMEETINGGROUP.STARTDATE, CLASSMEETINGGROUP.ENDDATE) as TERMID,
dbo.UFN_CLASSMEETINGGROUP_GETFIRSTMEETING(CLASSMEETINGGROUP.ID) as FIRSTMEETING
from dbo.CLASS
inner join dbo.COURSE on CLASS.COURSEID = COURSE.ID
inner join dbo.CLASSMEETINGGROUP on CLASS.ID = CLASSMEETINGGROUP.CLASSID
where CLASS.ID = @ID
for xml raw('ITEM'),type,elements,root('CLASSMEETINGGROUPS'),binary base64
),
@NUMBERENROLLED = dbo.UFN_CLASS_GETNUMBERENROLLED(@ID)
select
@TARGETEXCEEDED = case when CLASS.CLASSSIZETARGET <= @NUMBERENROLLED then 1 else 0 end,
@MAXIMUMEXCEEDED = case when CLASS.CLASSSIZEMAXIMUM <> 0 and CLASS.CLASSSIZEMAXIMUM <= @NUMBERENROLLED then 1 else 0 end
from dbo.CLASS
where CLASS.ID = @ID
return 0;