USP_DATAFORMTEMPLATE_EDIT_SCHEDULEDATEADJUSTMENT

The save procedure used by the edit dataform template "Adjustment Edit Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@ADJUSTEDTIMETABLEDAYID uniqueidentifier IN Change to
@NEXTTIMETABLEDAYID uniqueidentifier IN Change to
@DESCRIPTION varchar(255) IN Notes
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_SCHEDULEDATEADJUSTMENT (
                        @ID uniqueidentifier,
                        @ADJUSTEDTIMETABLEDAYID uniqueidentifier,
                        @NEXTTIMETABLEDAYID uniqueidentifier,
                        @DESCRIPTION varchar(255),
                        @CHANGEAGENTID uniqueidentifier = null
                    )
                    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.SCHEDULEDATEADJUSTMENT set
                                ADJUSTEDTIMETABLEDAYID = @ADJUSTEDTIMETABLEDAYID,
                                NEXTTIMETABLEDAYID = @NEXTTIMETABLEDAYID,
                                DESCRIPTION = @DESCRIPTION,
                                CHANGEDBYID = @CHANGEAGENTID,
                                DATECHANGED = @CURRENTDATE
                            where ID = @ID

                            declare @DATE date
                            declare @SCHOOLID uniqueidentifier
                            select 
                                @DATE = DATE,
                                @SCHOOLID = SCHOOLID 
                            from 
                                SCHEDULEDATEADJUSTMENT
                            where ID = @ID

                            -- set this so the cleanup will see the new adjustment as valid

                            if @ADJUSTEDTIMETABLEDAYID is null 
                                update SCHEDULEDATE set INSESSION = 0, TIMETABLEDAYID = null where DATE = @DATE and SCHOOLID = @SCHOOLID
                            else
                                update SCHEDULEDATE set INSESSION = 1, TIMETABLEDAYID = @ADJUSTEDTIMETABLEDAYID where DATE = @DATE and SCHOOLID = @SCHOOLID

                            declare @TERMID uniqueidentifier
                            set @TERMID = dbo.UFN_SCHEDULEDATE_GETTERM (@DATE, @SCHOOLID)

                            exec dbo.USP_SCHEDULEDATE_ADJUSTENTRIES @TERMID, @DATE, null, null, @CHANGEAGENTID

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

                    return 0;