USP_DATAFORMTEMPLATE_EDITLOAD_TRANSFERREDGRADES
The load procedure used by the edit dataform template "Transferred Grades Edit Data Form"
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | nvarchar(73) | 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. |
@NAME | nvarchar(200) | INOUT | Student |
@GRADELEVEL | nvarchar(100) | INOUT | Grade level |
@COURSE | nvarchar(300) | INOUT | Course |
@ACADEMICYEAR | nvarchar(100) | INOUT | Academic year |
@XFERFROMGRADES | xml | INOUT | |
@XFERTOGRADES | xml | INOUT |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_TRANSFERREDGRADES(
@ID nvarchar(73),
@DATALOADED bit = 0 output,
@TSLONG bigint = 0 output,
@NAME nvarchar(200) = null output,
@GRADELEVEL nvarchar(100) = null output,
@COURSE nvarchar(300) = null output,
@ACADEMICYEAR nvarchar(100) = null output,
@XFERFROMGRADES xml = null output,
@XFERTOGRADES xml = null output
)
as
set nocount on;
declare @STUDENTID uniqueidentifier,
@CLASSID uniqueidentifier
select
@CLASSID = cast(substring(@ID,1,36) as uniqueidentifier),
@STUDENTID = cast(substring(@ID,38,36) as uniqueidentifier)
-- 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 top 1
@DATALOADED = 1,
@TSLONG = COURSE.TSLONG,
@NAME = CONSTITUENT.NAME,
@GRADELEVEL = dbo.UFN_CLASS_GETSTUDENTGRADELEVELSTRING(@CLASSID, STUDENTCOURSE.ID),
@COURSE = COURSE.COURSEID + ', ' + COURSE.NAME,
@ACADEMICYEAR = ACADEMICYEARNAMECODE.DESCRIPTION,
@XFERFROMGRADES = (select ID, MCDISPLAYNAME, TRANSLATIONTABLEID, VALUESALLOWEDCODE, GRADETYPECODE, NUMERICGRADE, TRANSLATIONTABLEGRADEID,
STUDENTCLASSMEETINGGROUPID, COURSEGRADINGMARKINGCOLUMNID, LOWESTSCOREALLOWED, HIGHESTSCOREALLOWED, GRADEISBLANK, SECTION
from UFN_STUDENTMARKINGCOLUMN_GETCLASSGRADES(STUDENTCOURSE.ID, 3)
order by MCSEQUENCE
for xml raw('ITEM'),type,elements,root('XFERFROMGRADES'),BINARY BASE64),
@XFERTOGRADES = (select ID, MCDISPLAYNAME, TRANSLATIONTABLEID, VALUESALLOWEDCODE, GRADETYPECODE, NUMERICGRADE, TRANSLATIONTABLEGRADEID,
STUDENTCLASSMEETINGGROUPID, COURSEGRADINGMARKINGCOLUMNID, LOWESTSCOREALLOWED, HIGHESTSCOREALLOWED, GRADEISBLANK, SECTION
from UFN_STUDENTMARKINGCOLUMN_GETCLASSGRADES(STUDENTCOURSE.ID, 0)
order by MCSEQUENCE
for xml raw('ITEM'),type,elements,root('XFERTOGRADES'),BINARY BASE64)
from dbo.CLASS
inner join dbo.COURSE on CLASS.COURSEID = COURSE.ID
inner join dbo.ACADEMICYEAR on COURSE.SCHOOLID = ACADEMICYEAR.SCHOOLID
and ACADEMICYEAR.STARTDATE <= CLASS.STARTDATE
and ACADEMICYEAR.ENDDATE >= CLASS.ENDDATE
inner join dbo.ACADEMICYEARNAMECODE on ACADEMICYEAR.ACADEMICYEARNAMECODEID = ACADEMICYEARNAMECODE.ID
inner join dbo.CLASSMEETINGGROUP on CLASS.ID = CLASSMEETINGGROUP.CLASSID
inner join dbo.STUDENTCLASSMEETINGGROUP on CLASSMEETINGGROUP.ID = STUDENTCLASSMEETINGGROUP.CLASSMEETINGGROUPID
inner join dbo.STUDENTCOURSE on STUDENTCLASSMEETINGGROUP.STUDENTCOURSEID = STUDENTCOURSE.ID
inner join dbo.CONSTITUENT on STUDENTCOURSE.STUDENTID = CONSTITUENT.ID
where CLASS.ID = @CLASSID
and STUDENTCOURSE.STUDENTID = @STUDENTID
return 0;