USP_DATAFORMTEMPLATE_ADD_STUDENTSKILLCOPY_PRELOAD

The load procedure used by the edit dataform template "Student Skill Copy Add Data Form"

Parameters

Parameter Parameter Type Mode Description
@STUDENTSKILLID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@SCHOOLID uniqueidentifier INOUT Apply to
@GRADELEVELID uniqueidentifier INOUT Apply to
@COURSEID uniqueidentifier INOUT Apply to
@STUDENTSKILLRATINGGROUPID uniqueidentifier INOUT Rating
@NAME nvarchar(400) INOUT Skill name
@STARTDATE datetime INOUT Start using on
@ENDDATE datetime INOUT Stop using after
@STUDENTSKILLMARKINGCOLUMNS xml INOUT Marking Columns
@LINKTYPE int INOUT

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_STUDENTSKILLCOPY_PRELOAD
(
    @STUDENTSKILLID uniqueidentifier,
    @SCHOOLID uniqueidentifier = null output,
    @GRADELEVELID uniqueidentifier = null output,
    @COURSEID uniqueidentifier = null output,
    @STUDENTSKILLRATINGGROUPID uniqueidentifier = null output,
    @NAME nvarchar(400) = null output,
    @STARTDATE datetime = null output,
    @ENDDATE datetime = null output,
    @STUDENTSKILLMARKINGCOLUMNS xml = null output,
    @LINKTYPE int = null output
)
as
    set nocount on;

    select 
        @NAME = STUDENTSKILL.NAME,
        @STUDENTSKILLRATINGGROUPID = STUDENTSKILL.STUDENTSKILLRATINGGROUPID,
        @STARTDATE = dbo.UFN_DATE_GETEARLIESTTIME(getdate()),
        @SCHOOLID = STUDENTSKILLSCHOOL.SCHOOLID,
        @GRADELEVELID = STUDENTSKILLGRADELEVEL.GRADELEVELID,
        @COURSEID = STUDENTSKILLCOURSE.COURSEID,
        @STUDENTSKILLMARKINGCOLUMNS = dbo.UFN_STUDENTSKILL_GETMARKINGCOLUMN_TOITEMLISTXML(@STUDENTSKILLID)
    from dbo.STUDENTSKILL
    left join dbo.STUDENTSKILLSCHOOL on STUDENTSKILLSCHOOL.STUDENTSKILLID = STUDENTSKILL.ID
    left join dbo.STUDENTSKILLGRADELEVEL on STUDENTSKILLGRADELEVEL.STUDENTSKILLID = STUDENTSKILL.ID
    left join dbo.STUDENTSKILLCOURSE on STUDENTSKILLCOURSE.STUDENTSKILLID = STUDENTSKILL.ID
    where dbo.STUDENTSKILL.ID = @STUDENTSKILLID

    -- figure out what to link to

    if @SCHOOLID is not null set @LINKTYPE = 1
    if @GRADELEVELID is not null set @LINKTYPE = 2
    if @COURSEID is not null set @LINKTYPE = 3

    -- now don't copy the link ID

    set @SCHOOLID = null
    set @GRADELEVELID = null
    set @COURSEID = null

    -- remove PK ID's, saving copy will generate new ones.

    if @STUDENTSKILLMARKINGCOLUMNS is not null
        set @STUDENTSKILLMARKINGCOLUMNS.modify('delete /STUDENTSKILLMARKINGCOLUMNS/ITEM/ID')

    return 0;