USP_DATAFORMTEMPLATE_EDIT_JOBOCCURRENCE

The save procedure used by the edit dataform template "Job Occurrence 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.
@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(4000) IN Comment

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_JOBOCCURRENCE(
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier = null,
    @DESCRIPTION nvarchar(30),
    @DEPARTMENTCODEID uniqueidentifier,
    @LOCATIONCODEID uniqueidentifier,
    @TYPECODE tinyint,
    @STARTDATE datetime,
    @ENDDATE datetime,
    @STARTMONTHDAY dbo.UDT_MONTHDAY,
    @ENDMONTHDAY dbo.UDT_MONTHDAY,
    @ONESTARTTIME dbo.UDT_HOURMINUTE,
    @ONEENDTIME dbo.UDT_HOURMINUTE,
    @RECSTARTTIME dbo.UDT_HOURMINUTE,
    @RECENDTIME dbo.UDT_HOURMINUTE,
    @DAYOFWEEKCODE tinyint,
    @EVENTID uniqueidentifier,
    @VOLUNTEERSNEEDED int,
    @COMMENTS nvarchar(4000)
) 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();

    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

        update dbo.JOBOCCURRENCE
        set DESCRIPTION = @DESCRIPTION,
            DEPARTMENTCODEID = @DEPARTMENTCODEID,
            LOCATIONCODEID = @LOCATIONCODEID,
            TYPECODE = @TYPECODE
            STARTDATE = @STARTDATE
            ENDDATE = @ENDDATE
            STARTMONTHDAY = @STARTMONTHDAY
            ENDMONTHDAY = @ENDMONTHDAY
            STARTTIME = @STARTTIME
            ENDTIME = @ENDTIME
            DAYOFWEEKCODE = @DAYOFWEEKCODE
            EVENTID = @EVENTID
            VOLUNTEERSNEEDED = @VOLUNTEERSNEEDED,
            COMMENTS = @COMMENTS,
            CHANGEDBYID = @CHANGEAGENTID
            DATECHANGED = @CURRENTDATE
        where ID = @ID;

    end try

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

    return 0;