USP_ORGANIZATIONPOSITIONHOLDER_DELETE

Executes the "Organization Position Holder: Delete" record operation.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN Input parameter indicating the ID of the record being deleted.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the delete.

Definition

Copy


                    create procedure dbo.USP_ORGANIZATIONPOSITIONHOLDER_DELETE(@ID uniqueidentifier, @CHANGEAGENTID uniqueidentifier)
                    as begin
                        set nocount on;

                        declare @CURRENTDATE datetime;

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

                        set @CURRENTDATE = GetDate();

                        declare @HOLDERID uniqueidentifier;

                        select top 1
                            @HOLDERID = ID
                        from dbo.ORGANIZATIONPOSITIONHOLDER
                        where POSITIONID = @ID
                        order by DATEFROM desc;

                        exec USP_ORGANIZATIONPOSITIONHOLDER_DELETEBYID_WITHCHANGEAGENTID @HOLDERID, @CHANGEAGENTID;

                        select top 1
                            @HOLDERID = ID
                        from dbo.ORGANIZATIONPOSITIONHOLDER
                        where POSITIONID = @ID
                        order by DATEFROM desc;

                        if (@HOLDERID is not null)
                            update dbo.ORGANIZATIONPOSITIONHOLDER
                            set DATETO = null,
                                CHANGEDBYID = @CHANGEAGENTID,
                                DATECHANGED = @CURRENTDATE
                            where ID = @HOLDERID;

                        return 0;
                    end