USP_DATAFORMTEMPLATE_ADD_JOBOCCURRENCE

The save procedure used by the add dataform template "Job Occurrence Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@JOBID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@DESCRIPTION nvarchar(30) IN Occurrence name
@DEPARTMENTCODEID uniqueidentifier IN Department
@LOCATIONCODEID uniqueidentifier IN Location
@TYPECODE tinyint IN Type
@STARTDATE datetime IN Start date
@ENDDATE datetime IN End date
@STARTMONTHDAY UDT_MONTHDAY IN Start (mm/dd)
@ENDMONTHDAY UDT_MONTHDAY IN End (mm/dd)
@ONESTARTTIME UDT_HOURMINUTE IN Start time
@ONEENDTIME UDT_HOURMINUTE IN End time
@RECSTARTTIME UDT_HOURMINUTE IN Start time
@RECENDTIME UDT_HOURMINUTE IN End time
@DAYOFWEEKCODE tinyint IN Day of week
@EVENTID uniqueidentifier IN Event
@VOLUNTEERSNEEDED int IN Volunteers needed
@COMMENTS nvarchar(max) IN Comment

Definition

Copy


                CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_JOBOCCURRENCE(
                    @ID uniqueidentifier = null output,
                    @CHANGEAGENTID uniqueidentifier = null,
                    @JOBID uniqueidentifier,
                    @DESCRIPTION nvarchar(30),
                    @DEPARTMENTCODEID uniqueidentifier = null,
                    @LOCATIONCODEID uniqueidentifier = null,
                    @TYPECODE tinyint = 0,
                    @STARTDATE datetime = null,
                    @ENDDATE datetime = null,
                    @STARTMONTHDAY dbo.UDT_MONTHDAY = '0000',
                    @ENDMONTHDAY dbo.UDT_MONTHDAY = '0000',
                    @ONESTARTTIME dbo.UDT_HOURMINUTE = null,
                    @ONEENDTIME dbo.UDT_HOURMINUTE = null,
                    @RECSTARTTIME dbo.UDT_HOURMINUTE = null,
                    @RECENDTIME dbo.UDT_HOURMINUTE = null,
                    @DAYOFWEEKCODE tinyint = 0,
                    @EVENTID uniqueidentifier = null,
                    @VOLUNTEERSNEEDED int = 0,
                    @COMMENTS nvarchar(max) = ''
                ) as

                        set nocount on;

                        declare @CURRENTDATE datetime;
                        declare @STARTTIME dbo.UDT_HOURMINUTE;
                        declare @ENDTIME dbo.UDT_HOURMINUTE;

                        if @CHANGEAGENTID is null  
                            exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

                        set @CURRENTDATE = getdate();

                        if @ID is null
                            set @ID = newid()

                        begin try
                            if @TYPECODE = 0 
                                select    @STARTMONTHDAY = '0000',
                                        @ENDMONTHDAY = '0000',
                                        @STARTTIME = @ONESTARTTIME,
                                        @ENDTIME = @ONEENDTIME;

                            if @TYPECODE = 1 
                                select    @STARTDATE = null,
                                        @ENDDATE = null,
                                        @STARTTIME = @RECSTARTTIME,
                                        @ENDTIME = @RECENDTIME;

                            if @TYPECODE = 2
                                select    @STARTDATE = null,
                                        @ENDDATE = null,
                                        @STARTMONTHDAY = '0000',
                                        @ENDMONTHDAY = '0000',
                                        @STARTTIME = @RECSTARTTIME,
                                        @ENDTIME = @RECENDTIME;

                            --joboccurrence

                            insert into dbo.JOBOCCURRENCE(ID, JOBID, DESCRIPTION, TYPECODE, STARTDATE, ENDDATE, 
                                                STARTMONTHDAY, ENDMONTHDAY, STARTTIME, ENDTIME, 
                                                DAYOFWEEKCODE, EVENTID, VOLUNTEERSNEEDED,
                                                DEPARTMENTCODEID,LOCATIONCODEID,COMMENTS,
                                                ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                            values(@ID, @JOBID, @DESCRIPTION, @TYPECODE, @STARTDATE, @ENDDATE,
                                                @STARTMONTHDAY, @ENDMONTHDAY, @STARTTIME, @ENDTIME
                                                @DAYOFWEEKCODE, @EVENTID, @VOLUNTEERSNEEDED,
                                                @DEPARTMENTCODEID,@LOCATIONCODEID,@COMMENTS,
                                                @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
                        end try

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

                        return 0;