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;