USP_DATAFORMTEMPLATE_ADD_ORGANIZATIONHIERARCHYPOSITIONADD

The save procedure used by the add dataform template "Organization Hierarchy Position Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@ORGANIZATIONPARENTID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@SITEID uniqueidentifier IN Site
@NAME nvarchar(50) IN Position title
@CONSTITUENTID uniqueidentifier IN Fundraiser
@DATEFROM datetime IN Start date
@BUSINESSUNITCODEID uniqueidentifier IN Business unit

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_ORGANIZATIONHIERARCHYPOSITIONADD
                    (
                        @ID uniqueidentifier output,
                        @ORGANIZATIONPARENTID uniqueidentifier, 
                        @CHANGEAGENTID uniqueidentifier = null,
                        @SITEID uniqueidentifier = null,
                        @NAME nvarchar(50) = null,
                        @CONSTITUENTID uniqueidentifier = null,
                        @DATEFROM datetime = null,
                        @BUSINESSUNITCODEID uniqueidentifier = null
                    )
                    as
                    begin
                        set nocount on;

                        declare @CURRENTDATE datetime;
                        declare @CURRENTDATEFROM datetime;

                        begin try

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

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

                            set @CURRENTDATE = GetDate();

                            begin
                                insert into dbo.ORGANIZATIONHIERARCHY(ID, PARENTID, SEQUENCE, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                                values(@ID, @ORGANIZATIONPARENTID, 0, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE)

                                insert into dbo.ORGANIZATIONPOSITION (
                                    ID, 
                                    NAME, 
                                    SITEID, 
                                    BUSINESSUNITCODEID,
                                    ADDEDBYID, 
                                    CHANGEDBYID, 
                                    DATEADDED, 
                                    DATECHANGED
                                )
                                values (
                                    @ID
                                    @NAME
                                    @SITEID
                                    @BUSINESSUNITCODEID,
                                    @CHANGEAGENTID
                                    @CHANGEAGENTID
                                    @CURRENTDATE
                                    @CURRENTDATE
                                )
                            end

                            if @CONSTITUENTID is not null
                            begin
                                if @DATEFROM > @CURRENTDATE
                                    raiserror('FUTURESTARTDATE', 13, 1)

                                insert into dbo.ORGANIZATIONPOSITIONHOLDER(ID, POSITIONID, CONSTITUENTID, DATEFROM, ADDEDBYID, CHANGEDBYID, DATEADDED, DATECHANGED)
                                values(newid(), @ID, @CONSTITUENTID, @DATEFROM, @CHANGEAGENTID, @CHANGEAGENTID, @CURRENTDATE, @CURRENTDATE);
                            end                            

                        end try

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

                        return 0;
                    end