USP_DATAFORMTEMPLATE_ADD_TIMESHEETBATCHCOMMIT

The save procedure used by the add dataform template "Timesheet Batch Row Commit 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.
@VOLUNTEERID uniqueidentifier IN Volunteer
@JOBOCCURRENCEID uniqueidentifier IN Job occurrence
@HOURSWORKED decimal(20, 2) IN Hours worked
@STARTDATE datetime IN Start date
@ENDDATE datetime IN End date
@VALIDATEONLY bit IN Validate only
@VOLUNTEER_IMPORTLOOKUPID nvarchar(100) IN

Definition

Copy

                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_TIMESHEETBATCHCOMMIT
                    (
                        @ID uniqueidentifier output
                        @CHANGEAGENTID uniqueidentifier,
                        @VOLUNTEERID uniqueidentifier = null,
                        @JOBOCCURRENCEID uniqueidentifier = null,
                        @HOURSWORKED decimal(20, 2) = null,
                        @STARTDATE datetime = null,
                        @ENDDATE datetime = null,
                        @VALIDATEONLY bit = 0,
                        @VOLUNTEER_IMPORTLOOKUPID nvarchar(100) = null
                    )
                    as
                    set nocount on;

                    declare @CHANGEDATE datetime;
                    set @CHANGEDATE = getdate();

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

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

                    -- Only volunteers can have a timesheet added
                    if dbo.UFN_CONSTITUENT_ISVOLUNTEER(@VOLUNTEERID) = 0
                    begin
                        raiserror('BBERR_CONSTITUENTISNOTVOLUNTEER', 13, 1);
                        return 1;
                    end                    

                    begin try
                        if @VALIDATEONLY = 0
                        begin
                            insert into dbo.TIMESHEET(ID, VOLUNTEERID, JOBOCCURRENCEID, HOURSWORKED, STARTDATE, ENDDATE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                                values(@ID, @VOLUNTEERID, @JOBOCCURRENCEID, @HOURSWORKED, @STARTDATE, @ENDDATE, @CHANGEAGENTID, @CHANGEAGENTID, @CHANGEDATE, @CHANGEDATE)
                        end                            
                    end try
                    begin catch 
                        exec dbo.USP_RAISE_ERROR;
                        return 1;
                    end catch

                    return 0;