USP_DATAFORMTEMPLATE_EDIT_OUTSIDEEDUCATION
The save procedure used by the edit dataform template "Outside Education 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. |
| @EDUCATIONALINSTITUTIONID | uniqueidentifier | IN | Educational institution |
| @GRADELEVELENROLLEDID | uniqueidentifier | IN | Grade enrolled |
| @GRADELEVELLEFTID | uniqueidentifier | IN | Grade left |
| @EDUCATIONALREASONLEFTCODEID | uniqueidentifier | IN | Reason left |
| @EDUCATIONALHISTORYSTATUSID | uniqueidentifier | IN | Current status |
| @DATEATTENDEDFROM | UDT_FUZZYDATE | IN | From |
| @DATEATTENDEDTO | UDT_FUZZYDATE | IN | To |
| @GRADUATIONDATE | UDT_FUZZYDATE | IN | Graduation date |
| @CLASSOF | UDT_YEAR | IN | Class of |
Definition
Copy
CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_OUTSIDEEDUCATION
(
@ID uniqueidentifier,
@CHANGEAGENTID uniqueidentifier = null,
@EDUCATIONALINSTITUTIONID uniqueidentifier,
@GRADELEVELENROLLEDID uniqueidentifier,
@GRADELEVELLEFTID uniqueidentifier,
@EDUCATIONALREASONLEFTCODEID uniqueidentifier,
@EDUCATIONALHISTORYSTATUSID uniqueidentifier,
@DATEATTENDEDFROM UDT_FUZZYDATE,
@DATEATTENDEDTO UDT_FUZZYDATE,
@GRADUATIONDATE UDT_FUZZYDATE,
@CLASSOF UDT_YEAR
)
as
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output
declare @CURRENTDATE datetime
set @CURRENTDATE = getdate()
begin try
-- handle updating the educational history record
update dbo.EDUCATIONALHISTORY
set EDUCATIONALINSTITUTIONID = @EDUCATIONALINSTITUTIONID,
GRADELEVELENROLLEDID = @GRADELEVELENROLLEDID,
GRADELEVELLEFTID = @GRADELEVELLEFTID,
EDUCATIONALREASONLEFTCODEID = @EDUCATIONALREASONLEFTCODEID,
STARTDATE = @DATEATTENDEDFROM,
DATELEFT = @DATEATTENDEDTO,
DATEGRADUATED = @GRADUATIONDATE,
CLASSOF = @CLASSOF,
CHANGEDBYID = @CHANGEAGENTID,
DATECHANGED = @CURRENTDATE
where ID = @ID
-- If either the educational history status history record does not exist
-- or the current one does not have the same status as the educational history record.
if ((not exists (select ID from dbo.EDUCATIONALHISTORYSTATUSHISTORY where EDUCATIONALHISTORYID = @ID)) or
(@EDUCATIONALHISTORYSTATUSID != dbo.UFN_EDUCATIONALHISTORY_CURRENTEDUCATIONALHISTORYSTATUS(@ID)))
begin
declare @STATUSDATE datetime;
if (@DATEATTENDEDFROM = '00000000')
begin
set @STATUSDATE = getdate();
end
else
begin
set @STATUSDATE = dbo.UFN_DATE_FROMFUZZYDATE(@DATEATTENDEDFROM);
end
insert into dbo.EDUCATIONALHISTORYSTATUSHISTORY
(ID,
EDUCATIONALHISTORYID,
EDUCATIONALHISTORYSTATUSID,
STATUSDATE,
ADDEDBYID,
CHANGEDBYID,
DATEADDED,
DATECHANGED)
values
(newid(),
@ID,
@EDUCATIONALHISTORYSTATUSID,
@STATUSDATE,
@CHANGEAGENTID,
@CHANGEAGENTID,
@CURRENTDATE,
@CURRENTDATE);
end
end try
begin catch
exec dbo.USP_RAISE_ERROR
return 1
end catch
return 0;