USP_DATAFORMTEMPLATE_EDITLOAD_TRANSFERSTUDENT

The load procedure used by the edit dataform template "Transfer Student 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.
@STUDENTCOURSEID uniqueidentifier INOUT
@NAME nvarchar(200) INOUT Student
@GRADELEVEL nvarchar(100) INOUT Grade level
@COURSEID uniqueidentifier INOUT Course
@CLASSID uniqueidentifier INOUT
@CLASS nvarchar(300) INOUT Class
@ACADEMICYEAR nvarchar(100) INOUT Academic year
@TRANSFERDATE date INOUT Transfer date
@TRANSFERTERMID uniqueidentifier INOUT Transfer starting in
@TRANSFERTO_CLASSID uniqueidentifier INOUT Transfer to
@CLASS_STARTTERMID uniqueidentifier INOUT
@EXCEEDTARGETCLASSSIZE bit INOUT Exceed target class size

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_TRANSFERSTUDENT(
    @ID nvarchar(73),
    @DATALOADED bit = 0 output,
    @TSLONG bigint = 0 output,
    @STUDENTCOURSEID uniqueidentifier = null output,
    @NAME nvarchar(200) = null output,
    @GRADELEVEL nvarchar(100) = null output,
    @COURSEID uniqueidentifier = null output,
    @CLASSID uniqueidentifier = null output,
    @CLASS nvarchar(300) = null output,
    @ACADEMICYEAR nvarchar(100) = null output,
    @TRANSFERDATE date = null output,
    @TRANSFERTERMID uniqueidentifier = null output,
    @TRANSFERTO_CLASSID uniqueidentifier = null output,
    @CLASS_STARTTERMID uniqueidentifier = null output,
  @EXCEEDTARGETCLASSSIZE bit = null output
)
as

    set nocount on;

    declare @STUDENTID uniqueidentifier

    select
        @CLASSID = cast(substring(@ID,1,36) as uniqueidentifier),
        @STUDENTID = cast(substring(@ID,38,36) as uniqueidentifier)

    select
        @DATALOADED = 1,
        @STUDENTCOURSEID = STUDENTCOURSE.ID,
        @NAME = CONSTITUENT.NAME,
        @GRADELEVEL = dbo.UFN_CLASS_GETSTUDENTGRADELEVELSTRING(@CLASSID, STUDENTCOURSE.ID),
        @COURSEID = COURSE.ID,
        @CLASS = COURSE.[COURSEID] + ' - ' + CLASS.[SECTION],
        @ACADEMICYEAR = ACADEMICYEARNAMECODE.DESCRIPTION,
        @TRANSFERDATE = getdate(),
        @CLASS_STARTTERMID = TERM.ID
    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.SESSION on ACADEMICYEAR.ID = SESSION.ACADEMICYEARID
        inner join dbo.TERM on SESSION.ID = TERM.SESSIONID
            and CLASSMEETINGGROUP.STARTDATE = TERM.STARTDATE
            and CLASSMEETINGGROUP.ENDDATE = TERM.ENDDATE    

        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;