USP_DATAFORMTEMPLATE_EDIT_STUDENTPROGRESSION
The save procedure used by the edit dataform template "Student Progression Edit Data Form".
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@ID | uniqueidentifier | IN | The input ID parameter indicating the ID of the record being edited. |
@CHANGEAGENTID | uniqueidentifier | IN | Input parameter indicating the ID of the change agent invoking the procedure. |
@SCHOOLID | uniqueidentifier | IN | School |
@ACADEMICYEARID | uniqueidentifier | IN | Academic year |
@SCHOOLGRADELEVELID | uniqueidentifier | IN | Grade level |
@HOMEROOMTEACHERID | uniqueidentifier | IN | Homeroom teacher |
@STUDENTADVISORID | uniqueidentifier | IN | |
@ADVISORID | uniqueidentifier | IN | Advisor |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_STUDENTPROGRESSION (
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@SCHOOLID uniqueidentifier,
@ACADEMICYEARID uniqueidentifier,
@SCHOOLGRADELEVELID uniqueidentifier,
@HOMEROOMTEACHERID uniqueidentifier,
@STUDENTADVISORID uniqueidentifier,
@ADVISORID uniqueidentifier
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
declare @STARTDATE date, @ENDDATE date
select @STARTDATE = dbo.ACADEMICYEAR.[STARTDATE], @ENDDATE = dbo.ACADEMICYEAR.[ENDDATE]
from dbo.ACADEMICYEAR
where dbo.ACADEMICYEAR.[ID] = @ACADEMICYEARID
declare @OLDADVISORID uniqueidentifier
select @OLDADVISORID = [FACULTYID] from dbo.STUDENTADVISOR where dbo.STUDENTADVISOR.[ID] = @STUDENTADVISORID
begin try
-- handle updating the data
update dbo.STUDENTPROGRESSION set
SCHOOLGRADELEVELID = @SCHOOLGRADELEVELID,
STARTDATE = @STARTDATE,
ENDDATE = @ENDDATE,
HOMEROOMTEACHERID = @HOMEROOMTEACHERID,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ID = @ID
-- handle multiple student advisors
if @ADVISORID is null
begin
delete from dbo.STUDENTADVISOR where dbo.STUDENTADVISOR.[ID] = @STUDENTADVISORID
end
else
begin
if @OldAdvisorID is null
begin
INSERT INTO [dbo].STUDENTADVISOR
(
[STUDENTPROGRESSIONID],
[FACULTYID],
[ADDEDBYID],
[CHANGEDBYID],
[DATEADDED],
[DATECHANGED]
)
values
(
@ID,
@ADVISORID,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE
)
end
else if @OLDADVISORID <> @ADVISORID
begin
update [dbo].STUDENTADVISOR set
[FACULTYID] = @ADVISORID
where ID = @STUDENTADVISORID
end
end
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;