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;