USP_DATAFORMTEMPLATE_EDIT_TERM

The save procedure used by the edit dataform template "Term Edit 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.
@TERMNAMECODEID uniqueidentifier IN Term
@STARTDATE date IN Start date
@ENDDATE date IN End date
@TIMETABLEDAYID uniqueidentifier IN Starts with
@WITHDRAWALDATE date IN Withdrawal date

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_TERM (
                        @ID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,
                        @TERMNAMECODEID uniqueidentifier,
                        @STARTDATE date,
                        @ENDDATE date,
                        @TIMETABLEDAYID uniqueidentifier,
                        @WITHDRAWALDATE date
                    )
                    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 data

                            update dbo.TERM set
                                TERMNAMECODEID = @TERMNAMECODEID,
                                STARTDATE = @STARTDATE,
                                ENDDATE = @ENDDATE,
                                TIMETABLEDAYID = @TIMETABLEDAYID,
                                CHANGEDBYID = @CHANGEAGENTID,
                                DATECHANGED = @CURRENTDATE,
                                WITHDRAWALDATE = @WITHDRAWALDATE
                            where ID = @ID

                            if exists(select TERM.ID from dbo.TERM
                                inner join SESSION on SESSION.ID = TERM.SESSIONID 
                                where TERM.ID = @ID
                                      and TERM.TIMETABLEDAYID not in (select TIMETABLEDAY.ID 
                                                                      from TIMETABLEDAY
                                                                      where TIMETABLEDAY.TIMETABLEID = SESSION.TIMETABLEID ))
                                raiserror('BBERR_TERM_TIMETABLEDAYVALID', 13, 1)

                            exec dbo.USP_SCHEDULEDATE_ADJUSTENTRIES @ID, null, null, null, @CHANGEAGENTID

                        end try
                        begin catch
                            exec dbo.USP_RAISE_ERROR
                            return 1
                        end catch

                    return 0