USP_DATAFORMTEMPLATE_EDITLOAD_STUDENTPROGRESSION
The load procedure used by the edit dataform template "Student Progression 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. |
@ISSINGLESCHOOL | bit | INOUT | |
@SCHOOLID | uniqueidentifier | INOUT | School |
@SCHOOLNAME | nvarchar(154) | INOUT | School |
@SCHOOLGRADELEVELID | uniqueidentifier | INOUT | Grade level |
@ACADEMICYEARID | uniqueidentifier | INOUT | Academic year |
@HOMEROOMTEACHERID | uniqueidentifier | INOUT | Homeroom teacher |
@STUDENTADVISORID | uniqueidentifier | INOUT | |
@ADVISORID | uniqueidentifier | INOUT | Advisor |
@STUDENTENROLLEDINCLASS | bit | INOUT | |
@GRADELEVEL | nvarchar(200) | INOUT | |
@ADVISORNAME | nvarchar(154) | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_STUDENTPROGRESSION(
@ID uniqueidentifier,
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@ISSINGLESCHOOL bit = null output,
@SCHOOLID uniqueidentifier = null output,
@SCHOOLNAME nvarchar(154) = null output,
@SCHOOLGRADELEVELID uniqueidentifier = null output,
@ACADEMICYEARID uniqueidentifier = null output,
@HOMEROOMTEACHERID uniqueidentifier = null output,
@STUDENTADVISORID uniqueidentifier = null output,
@ADVISORID uniqueidentifier = null output,
@STUDENTENROLLEDINCLASS bit = null output,
@GRADELEVEL nvarchar(200) = null output,
@ADVISORNAME nvarchar(154) = null output
)
as
set nocount on;
-- be sure to set these, in case the select returns no rows
set @DATALOADED = 0
set @TSLONG = 0
set @ISSINGLESCHOOL = dbo.UFN_SCHOOL_ISSINGLESCHOOL();
-- 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 = dbo.STUDENTPROGRESSION.[TSLONG],
@SCHOOLID = dbo.SCHOOLGRADELEVEL.[SCHOOLID],
@SCHOOLNAME = dbo.CONSTITUENT.[NAME],
@SCHOOLGRADELEVELID = dbo.STUDENTPROGRESSION.[SCHOOLGRADELEVELID],
@ACADEMICYEARID = dbo.UFN_ACADEMICYEAR_GET_FORSCHOOL_BYDATE(dbo.SCHOOLGRADELEVEL.[SCHOOLID], STUDENTPROGRESSION.[STARTDATE], STUDENTPROGRESSION.[ENDDATE]),
@HOMEROOMTEACHERID = dbo.STUDENTPROGRESSION.[HOMEROOMTEACHERID],
@GRADELEVEL = GRADELEVEL.ABBREVIATION
from dbo.STUDENTPROGRESSION
inner join dbo.SCHOOLGRADELEVEL on dbo.STUDENTPROGRESSION.[SCHOOLGRADELEVELID] = dbo.SCHOOLGRADELEVEL.[ID]
inner join dbo.GRADELEVEL on dbo.SCHOOLGRADELEVEL.GRADELEVELID = GRADELEVEL.ID
inner join dbo.CONSTITUENT on dbo.SCHOOLGRADELEVEL.[SCHOOLID] = dbo.CONSTITUENT.[ID]
where dbo.STUDENTPROGRESSION.[ID] = @ID
set @STUDENTADVISORID = dbo.UFN_STUDENTADVISOR_GETFIRSTID(@ID)
set @ADVISORID = (select dbo.STUDENTADVISOR.[FACULTYID] from dbo.STUDENTADVISOR where dbo.STUDENTADVISOR.[ID] = @STUDENTADVISORID)
set @ADVISORNAME = (select dbo.UFN_CONSTITUENT_BUILDNAME(@ADVISORID))
if exists (
select 1
from dbo.STUDENTPROGRESSION
inner join dbo.EDUCATIONALHISTORY on STUDENTPROGRESSION.ENROLLMENTID = EDUCATIONALHISTORY.ID
inner join dbo.CLASSMEETINGGROUP on
STUDENTPROGRESSION.STARTDATE <= CLASSMEETINGGROUP.STARTDATE and
STUDENTPROGRESSION.ENDDATE >= CLASSMEETINGGROUP.ENDDATE
inner join dbo.STUDENTCLASSMEETINGGROUP on CLASSMEETINGGROUP.ID = STUDENTCLASSMEETINGGROUP.CLASSMEETINGGROUPID
inner join dbo.STUDENTCOURSE on
STUDENTCLASSMEETINGGROUP.STUDENTCOURSEID = STUDENTCOURSE.ID and
EDUCATIONALHISTORY.CONSTITUENTID = STUDENTCOURSE.STUDENTID
where dbo.STUDENTPROGRESSION.[ID] = @ID
)
begin
set @STUDENTENROLLEDINCLASS = 1
end
return 0;