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;