USP_DATAFORMTEMPLATE_EDIT_GROUPMEMBERDATERANGE

The save procedure used by the edit dataform template "Group Member Date Range Edit Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@DATETO date IN End date
@COMMENTS nvarchar(300) IN Comments
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDIT_GROUPMEMBERDATERANGE
                    (
                        @ID uniqueidentifier,
                        @DATETO date,
                        @COMMENTS nvarchar(300),
                        @CHANGEAGENTID uniqueidentifier = null
                    )
                    as
                        set nocount on

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

                        declare @CURRENTDATE datetime = getdate();

                        if @DATETO > @CURRENTDATE
                        begin
                            raiserror ('ERR_DATETO_CANNOT_BE_IN_FUTURE',13,1);
                            return 1;
                        end

                        begin try
                            update dbo.GROUPMEMBERDATERANGE
                            set
                                DATETO = @DATETO,
                                COMMENTS = @COMMENTS,
                                DATECHANGED = @CURRENTDATE,
                                CHANGEDBYID = @CHANGEAGENTID
                            where ID = @ID

                            declare @GROUPMEMBERID uniqueidentifier;
                            select @GROUPMEMBERID = GROUPMEMBERID from GROUPMEMBERDATERANGE where ID = @ID;

                            exec dbo.USP_GROUPMEMBERROLE_UPDATEDATES @GROUPMEMBERID, @CHANGEAGENTID;
                        end try
                        begin catch
                            exec dbo.USP_RAISE_ERROR;
                            return 1;
                        end catch

                        return 0;