USP_DATAFORMTEMPLATE_ADD_STUDENTSKILL
The save procedure used by the add dataform template "Student Skill Add Data Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | INOUT | The output parameter indicating the ID of the record added. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@STUDENTSKILLRATINGGROUPID | uniqueidentifier | IN | Ratings table |
@STUDENTSKILLS | xml | IN | Skills |
@STUDENTSKILLMARKINGCOLUMNS | xml | IN | Marking Columns |
@STUDENTSKILLCOURSES | xml | IN | Add skill to |
@STARTINACADEMICYEARNAMECODEID | uniqueidentifier | IN | Start in |
@STOPAFTERACADEMICYEARNAMECODEID | uniqueidentifier | IN | Stop after |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_STUDENTSKILL
(
@ID uniqueidentifier = null output,
@CHANGEAGENTID uniqueidentifier = null,
@STUDENTSKILLRATINGGROUPID uniqueidentifier,
@STUDENTSKILLS xml,
@STUDENTSKILLMARKINGCOLUMNS xml = null,
@STUDENTSKILLCOURSES xml = null,
@STARTINACADEMICYEARNAMECODEID uniqueidentifier = null,
@STOPAFTERACADEMICYEARNAMECODEID uniqueidentifier = null
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
begin try
declare @skillgrid table(ID uniqueidentifier, NAME nvarchar(400), STUDENTSKILLCATEGORYCODEID uniqueidentifier, SEQUENCE integer primary key identity)
insert into @skillgrid
(ID, NAME, STUDENTSKILLCATEGORYCODEID)
select
newid(),
c.value('NAME[1]', 'nvarchar(400)'),
c.value('STUDENTSKILLCATEGORYCODEID[1]', 'uniqueidentifier')
from @STUDENTSKILLS.nodes('/STUDENTSKILLS/ITEM') as T(c)
-- handle inserting the data
if not exists (select ID from @skillgrid)
raiserror('BBERR_STUDENTSKILLCOURSE_SKILLS_REQUIRED', 13, 1)
insert into dbo.STUDENTSKILL
(ID, STUDENTSKILLRATINGGROUPID, NAME, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED, STUDENTSKILLCATEGORYCODEID)
select
S.ID, @STUDENTSKILLRATINGGROUPID, S.NAME, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE, S.STUDENTSKILLCATEGORYCODEID
from @skillgrid S
-- prepare skill grid XML
declare @STUDENTSKILLSWITHID xml
set @STUDENTSKILLSWITHID = (select S.ID, S.NAME, S.SEQUENCE
from @skillgrid S
for xml raw('ITEM'),type,elements,root('STUDENTSKILLS'),binary base64)
-- add skill to selected courses
exec dbo.USP_STUDENTSKILL_ADDCOURSES @STUDENTSKILLSWITHID, @CHANGEAGENTID, @CURRENTDATE, @STARTINACADEMICYEARNAMECODEID, @STOPAFTERACADEMICYEARNAMECODEID, @STUDENTSKILLMARKINGCOLUMNS, @STUDENTSKILLCOURSES
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0