USP_DATAFORMTEMPLATE_EDITLOAD_COURSESTUDENTSKILL

The load procedure used by the edit dataform template "Course Student Skill 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.
@STUDENTSKILLID uniqueidentifier INOUT
@STUDENTSKILLCATEGORYCODEID uniqueidentifier INOUT Category
@STUDENTSKILLRATINGGROUPID uniqueidentifier INOUT Ratings table
@NAME nvarchar(400) INOUT Name
@STUDENTSKILLCOURSEMARKINGCOLUMNS xml INOUT Marking Columns
@COURSENAME nvarchar(75) INOUT Course
@STARTINACADEMICYEARNAMECODEID uniqueidentifier INOUT Start in
@STOPAFTERACADEMICYEARNAMECODEID uniqueidentifier INOUT Stop after

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_COURSESTUDENTSKILL
(
    @ID uniqueidentifier,
    @DATALOADED bit = 0 output,
    @TSLONG bigint = 0 output,
    @STUDENTSKILLID uniqueidentifier = null output,
    @STUDENTSKILLCATEGORYCODEID uniqueidentifier = null output,
    @STUDENTSKILLRATINGGROUPID uniqueidentifier = null output,
    @NAME nvarchar(400) = null output,
    @STUDENTSKILLCOURSEMARKINGCOLUMNS xml = null output,
    @COURSENAME nvarchar(75) = null output,
    @STARTINACADEMICYEARNAMECODEID uniqueidentifier = null output,
    @STOPAFTERACADEMICYEARNAMECODEID uniqueidentifier = null output
)
as
    set nocount on;

    -- 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 
        @DATALOADED = 1,
        @TSLONG = STUDENTSKILL.TSLONG,
        @STUDENTSKILLID = STUDENTSKILL.ID,
        @STUDENTSKILLCATEGORYCODEID = STUDENTSKILL.STUDENTSKILLCATEGORYCODEID,
        @STUDENTSKILLRATINGGROUPID = STUDENTSKILL.STUDENTSKILLRATINGGROUPID,
        @NAME = STUDENTSKILL.NAME,
        @STUDENTSKILLCOURSEMARKINGCOLUMNS = dbo.UFN_STUDENTSKILLCOURSE_GETMARKINGCOLUMN_TOITEMLISTXML(@ID),
        @COURSENAME = COURSE.COURSEID + ' - ' + COURSE.NAME,        
        @STARTINACADEMICYEARNAMECODEID = (select ACADEMICYEAR.ACADEMICYEARNAMECODEID from dbo.ACADEMICYEAR where STUDENTSKILLCOURSE.STARTDATE = ACADEMICYEAR.STARTDATE and COURSE.SCHOOLID = ACADEMICYEAR.SCHOOLID),
        @STOPAFTERACADEMICYEARNAMECODEID = (select ACADEMICYEAR.ACADEMICYEARNAMECODEID from dbo.ACADEMICYEAR where STUDENTSKILLCOURSE.ENDDATE = ACADEMICYEAR.ENDDATE and COURSE.SCHOOLID = ACADEMICYEAR.SCHOOLID)
    from dbo.STUDENTSKILLCOURSE
        inner join dbo.STUDENTSKILL on STUDENTSKILLCOURSE.STUDENTSKILLID = STUDENTSKILL.ID
        inner join dbo.COURSE on STUDENTSKILLCOURSE.COURSEID = COURSE.ID
    where STUDENTSKILLCOURSE.ID = @ID

    return 0;